RxJava2 Flowable concatWith(連線操作符)
concatWith(連線操作符)
1 concatWith介面
Flowable<T> |
concatWith(CompletableSource other)
Returns a 返回從此Flowable發出專案的Flowable,當它正常完成時,將訂閱另一個CompletableSource,並返回Flowable發出其終端事件。 |
Flowable<T> |
concatWith(MaybeSource<? extends T> other)
Returns a |
Flowable<T> |
concatWith(Publisher<? extends T> other)
Returns a Flowable that emits the items emitted from the current Publisher, then the next, one after the other, without interleaving them. 返回一個Flowable,它發出從當前釋出者發出的項,然後是下一個,一個接一個地發出,發射過程中不會交錯傳送。 |
Flowable<T> |
concatWith(SingleSource<? extends T> other)
Returns a 返回一個Flowable,它會發出自己的項,後跟另一個SingleSource的成功項或錯誤事件。 |
2 concatWith圖解說明
這裡使用了與靜態操作符concat一樣的圖解,簡單理解就是續接下一個Flowable
3 concatWith測試用例
測試程式碼
@Test
public void concatWith() {
System.out.println("######concatWith#####");
Flowable.just(3, 2, 4).concatWith(Flowable.just(100, 200))
.subscribe(new Consumer<Integer>() {
@Override
public void accept(Integer integer) throws Exception {
System.out.println("concatWith, value:" + integer);
}
});
}
測試結果
######concatWith#####
concatWith, value:3
concatWith, value:2
concatWith, value:4
concatWith, value:100
concatWith, value:200
4 concatWith測試用例說明
測試結果已經一目瞭然了,在打印出第concatWith前面的Flowable的所有專案後,緊接著開始列印續接的Flowable中的專案,在做測試的過程中發現前後的專案的型別姚波吃一一致,否者無法編譯通過,前面是Integer後面也應該是,不能使String等其他型別。