异步方法后的flatmap?

时间:2018-10-19 19:03:59

标签: asynchronous rx-java observable flatmap

我需要以异步方式调用xxx方法,并立即返回成功的响应。但是,我的xxx()方法在flatMap()之后不执行任何操作。

public Observable<ReturnDataType> performOperations(List PhoneList){
  xxx(PhoneList);
  return Observable.just(return successObservable);
}

private void xxx(List PhoneList){
Observable.from(phoneList).flatMap(phone -> {
 doSomeOperations
}).toList();
}

问题: 如果以异步方式调用任何方法,那么它的行为是否如此? 我想念什么吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

代码应作如下修改:

    Observable.from(phoneList)
            .flatMap(phone -> {
                doSomeOperations;
            })
            .toList()
            .toBlocking()
            .first();

还有一件事,代码似乎比Observable更适合使用Completable。

    Observable.from(phoneList)
            .flatMap(phone -> {
                doSomeOperations;
            })
            .toCompletable()
            .await();