- Reactive Programming in Kotlin
- Rivu Chakraborty
- 246字
- 2021-07-02 22:26:41
Understanding the Observable.just method
Another interesting factory method is Observable.just; this method creates Observable and adds the parameters passed to it as the only items of the Observable. Note that if you pass an Iterable instance to Observable.just as a single parameter, it will take the entire list as a single item, unlike Observable.from, where it will create items of Observable from each item in Iterable.
Here is what happens when you call Observable.just:
- You call Observable.just with parameters
- Observable.just will create Observable
- It will emit each of its parameters as the onNext notification
- When all parameters are emitted successfully, it will emit the onComplete notification
Let's look at this code example to understand it better:
fun main(args: Array<String>) { val observer: Observer<Any> = object : Observer<Any> { override fun onComplete() { println("All Completed") } override fun onNext(item: Any) { println("Next $item") } override fun onError(e: Throwable) { println("Error Occured ${e.message}") } override fun onSubscribe(d: Disposable) { println("New Subscription ") } }//Create Observer Observable.just("A String").subscribe(observer) Observable.just(54).subscribe(observer) Observable.just(listOf("String 1","String 2","String 3",
"String 4")).subscribe(observer) Observable.just(mapOf(Pair("Key 1","Value 1"),Pair
("Key 2","Value 2"),Pair("Key 3","Value
3"))).subscribe(observer) Observable.just(arrayListOf(1,2,3,4,5,6)).subscribe(observer) Observable.just("String 1","String 2",
"String 3").subscribe(observer)//1 }
And here is the output:

As you can see in the output, lists and maps are also treated as a single item, but look at comment 1 in the code where I passed three strings as parameters of the Observable.just method. Observable.just took each of the parameters as a separate item and emitted them accordingly (see the output).
- 同步:秩序如何從混沌中涌現
- 我們都是數據控:用大數據改變商業、生活和思維方式
- MySQL數據庫進階實戰
- 計算機綜合設計實驗指導
- DB29forLinux,UNIX,Windows數據庫管理認證指南
- 數據之巔:數據的本質與未來
- Mastering Ninject for Dependency Injection
- 計算機信息技術基礎實驗與習題
- Microsoft Power BI數據可視化與數據分析
- Google Cloud Platform for Developers
- 大數據數學基礎(Python語言描述)
- 從實踐中學習sqlmap數據庫注入測試
- The Natural Language Processing Workshop
- Rust High Performance
- Cognitive Computing with IBM Watson