![](/img/trans.png)
[英]RxJava 2. Buffer one observables items until other observable complete
[英]RxJava - Start one Observable when other one finish
我有兩個具有不同泛型類型的Observable:Observable o1和Observable o2
我被定義為o1 onComplet()和onNext()函數,我希望當這個Observable完成后,o2就可以啟動了。
我嘗試了Observable.concat(),但它們有不同的類型,所以這種方法不起作用......
那我該怎么做?
使用castAs
之前concatWith
(和ignoreElements
可能是有用的太):
Observable<T> o1;
Observable<R> o2;
Observable<R> o3 =
o1.ignoreElements()
.castAs(R.class)
.concatWith(o2);
或者,如果您正在使用泛型類型(因此不能使用R.class
):
Observable<R> o3 = ((Observable<R>)(Observable<?>)
o1.ignoreElements())
.concatWith(o2);
Observable有一個名為doOnCompleted
的方法,它接受一個Action0
(一個零參數函數)並返回一個新的Observable,它在正常完成時執行動作。 也許你可以用它來實現你想要的?
o1.doOnCompleted(() -> {
// Start o2.
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.