0
我試圖一次執行兩個Maybe
,並在完成這兩個操作後調用特定的方法。如果兩個Observables都返回一個值,但這在某些情況下可能不會發出一個項目,因此只調用doOnComplete
而不是doOnSuccess
。因此,如果其中一個Maybes'沒有調用doOnSuccess
,那麼zip()
塊將不會執行。我想知道如何處理這種情況?使用帶有可能不會發出值的Maybe的zip()
繼我的代碼(精簡的必要部分):
private void fetchData(){
Maybe<Integer> maybeOne = getId(); // may return Maybe.empty()
Maybe<List<String>> maybeTwo = getList();
Maybe.zip(maybeOne, maybeTwo, (id, list) -> {
initView(id, list); // only called if values have been emitted
return true;
}).subscribe();
}
我預料的zip()塊總是被調用,但在情況下空值也許沒叫onSuccess
。情況並非如此,我可以如何處理這種情況?
這正是我需要的 - 謝謝 – user3420815