0
我是RxJava的新手。我目前正在修改現有的同步流程,並使用已有方法的返回觀察值進行異步處理。RxJava - 根據條件返回特定的可觀察條件
在其中一個流程中,我進行遠程調用以從DB接收項目。由於對數據庫的調用是異步的,因此我會返回一個可觀察對象。但是,該項目可能不存在於數據庫中,在這種情況下,值將爲NULL。
如果值爲NULL我需要去其他異步調用其他各種遠程服務,並最終返回可觀察的響應。
我不明白的是如何用RxJava實現這樣的流程。這裏是一個示例僞代碼:
void searchSomethingAsych(String key) {
Observable<SearchResult> result = doTheSearch(key);
}
Observable<SearchResult> doTheSearch(String key) {
Observable<SearchResult> resultFromDb = checkIfExistsInDb(key);
// THIS IS WHERE I AM NOT SURE HOW TO DO THIS
resultFromDb.subscribe((result)- > {
if(result == null){
// .. go get this from somewhere else
Observable<SearchResult> resultFromSomewhere = getSearchResultFromSomewhereElse(key);
// how do I return the 'resultFromSomewhere' ????
}
});
}