flatMap
Posted huyang011
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了flatMap相关的知识,希望对你有一定的参考价值。
扩展:由于可以在嵌套的
Observable
中添加异步代码, flatMap()
也常用于嵌套的异步操作,例如嵌套的网络请求。示例代码(Retrofit + RxJava):networkClient.token() // 返回 Observable<String>,在订阅时请求 token,并在响应后发送 token
.flatMap(new Func1<String, Observable<Messages>>() {
@Override
public Observable<Messages> call(String token) {
// 返回 Observable<Messages>,在订阅时请求消息列表,并在响应后发送请求到的消息列表
return networkClient.messages();
}
})
.subscribe(new Action1<Messages>() {
@Override
public void call(Messages messages) {
// 处理显示消息列表
showMessages(messages);
}
});
以上是关于flatMap的主要内容,如果未能解决你的问题,请参考以下文章
Java Reactor 中嵌套 flatMaps 的好习惯是啥?
通过 if 条件从 `Array.flatMap()` 中不返回任何元素