簡體   English   中英

RxJava和“ Single”列表可觀察

[英]RxJava and list of `Single` observable

我是RxJava所以我仍然有很多疑問。

我正在創建這個:

    @Override
    public Single<Result> saveUser(final User user) {

    return Single.create(new Single.OnSubscribe<Result>() {
        @Override
        public void call(final SingleSubscriber<? super Result> singleSubscriber) {

            if(user.isValid()){
              save(user);
              //Set result ok
              singleSubscriber.onSuccess(result);
            } else {
                //This sets an error.
                singleSubscriber.onError(error);
            }
        }
    });
}

根據操作的成功程度, Single會發出其數據,被訂閱的人會接收該數據。

現在的問題是,在某個時候我需要存儲用戶列表。 就像是:

public void saveUsers(List<User> listOfUsers){
    for (User user : listOfUsers) {
        saveUser(user);
    }
}

我如何創建一個Single以便可以訂閱初始的Single

我寧願從可見列表中創建平面圖。

public void saveUsers(List<User> listOfUsers){
    Observable.from(listOfUsers).flatMap((User user)->{
         if(user.isValid()){
           save(user);
           //Set result ok
           return Observable.just(result);
         }else
           return Observable.error(new RuntimeException("..."));
   }).retry(2);
}

如果您使saveUsers方法saveUsers阻塞狀態,請調用Observable#toBlocking

暫無
暫無

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

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