前言
最近我也在學習RxJava2,在網上找了好多文章來讀,發現大多數都是說RxJava2和RxJava之間到底有什么區別的,每一個例子都要考慮RxJava里是怎么寫的,讓人看著都頭大,知道后來我在簡書上發現了一個非常棒的RxJava2的入門系列文章,我覺得非常的好,在這里可以推薦給大家:http://www.lxweimin.com/p/464fa025229e。
而我準備要寫的這個系列則是在入門之后的,對于各種操作符的用法的講解,在此之前我也翻譯了一個歪果仁的RxJava2的示例代碼,文章內的截圖和代碼我也準備用這個項目里的內容來,如果想直接看代碼的童鞋可以直接傳送:https://github.com/nelson1110/RxJava2-Android-Samples。
文章內容我也準備從簡單的操作符寫起,最后把比較抽象不容易搞清楚的操作符單獨拿出來整理一下。
作用
emit only the first n items emitted by an Observable
發射這個被觀察者的前n個item
示例用法
Observable.just(1, 2, 3, 4, 5)
// 運行在后臺線程
.subscribeOn(Schedulers.io())
// 運行在主線程
.observeOn(AndroidSchedulers.mainThread())
//注意take操作符->只發送前三個事件
.take(3)
.subscribe(getObserver());//這里是個觀察者,這個例子中觀察者并不重要。。
運行結果
1,2,3
分析
我們創建了一個會發送1~5 五個item的被觀察者
然后用操作符take,里面的參數為3,即只發送前三個item
最后,我們從觀察者中拿到的item為1,2,3
總結
前幾個操作符肯定比較容易理解,甚至一看名字就知道干啥的。這樣做主要是為了更容易的進入學習的狀態,以及增強自己掌握它的信心。