簡體   English   中英

Rxjava2結合多種操作

[英]Rxjava2 combine multiple operations

例如,如果我有3個功能

Completable requestLogin()

Single hasProjects()

Completable createDefaultProject()

我如何在單個請求中將它們組合

requestLogin() > onComplete > hasProjects() > onSuccess > if(!hasProjets) > createDefaultProject()

有可能的? 如果發生錯誤怎么辦?

這就是您使用Rx的原因之一。 一種可能是:

requestLogin()
   .andThen(
         hasProjects()
            .filter(value -> !value)
            .flatMapCompletable(value -> createDefaultProject()))
   .subscribe(() ->{}, throwable -> {
         // All errors will end up here
     });

我們要求登錄,登錄完成后,我們將檢查是否有項目。 如果不是,則filter不會終止創建默認項目的流。 如果有項目,則不會創建默認項目。

如果在執行過程中出現任何錯誤,將調用onError方法,您可以在那里處理錯誤。

暫無
暫無

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

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