簡體   English   中英

.concatMap()啟動下一個Observable,但上一個未完成

[英].concatMap() start the next Observable but previous one was not finished

我在Android上使用RxJava。 我這里有一段非常簡單的代碼:Observable> observable =

Observable.create((ObservableOnSubscribe<Observable<Boolean>>) emitter1 -> {
                            emitter1.onNext(doSomething());
                            emitter1.onComplete();
                        }).concatMap(accessToken -> Observable.create((ObservableOnSubscribe<Observable<Boolean>>) emitter2 -> {                                                            
                            emitter2.onNext(doSomethingElse());
                            emitter2.onComplete();
                        }).observeOn(Schedulers.io()).subscribeOn(Schedulers.io()));

我想做什么=>

-> Start A
    -> A is processing
    -> A is ending
-> Start B
    -> B is processing
    -> B is ending

我實際上得到了什么:

-> Start A 
   -> A is processing
-> Start B
   -> B is processing
-> A is ending
-> B is ending 

但是我想concatMap正在等待第一個可觀察對象結束,然后再發布下一個可觀察對象...?

請嘗試這樣:

Observable.create((ObservableOnSubscribe<Observable<Boolean>>) emitter1 -> {
                            emitter1.onNext(doSomething());
                            emitter1.onComplete();
                        }).concatMap(accessToken -> Observable.create((ObservableOnSubscribe<Observable<Boolean>>) emitter2 -> {                                                            
                            emitter2.onNext(doSomethingElse());
                            emitter2.onComplete();
                    })).observeOn(Schedulers.io()).subscribeOn(Schedulers.io());

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM