【发布时间】:2018-04-29 01:09:11
【问题描述】:
我对来自concatMap 的prefetch 参数感到困惑,它基本上听起来像MAX_CONCURRENCY。
prefetch:从当前 Observable 中预取的元素个数
Q1:是指从Observable预取元素进行映射,然后依次订阅一个吗?
例如,concatMapSingle 的文档非常清楚:
将上游项目映射到 SingleSources 并订阅它们 在另一个成功后,发出他们的成功值或终止 如果此 Observable 或当前内部 单源失败。
Q2:concatMap的doc是不是可以改写为:
将上游项目映射到 ObservableSources 并订阅它们 一个接一个完成?
concatMap 的原始文档版本:
返回一个新的 Observable,该 Observable 发出通过应用 您为源发出的每个项目提供的函数 ObservableSource,该函数返回一个 ObservableSource,以及 然后发出通过连接那些产生的项目而产生的项目 可观察的来源。
即以下几行基本相同(就MAX_CONCURRENCY而言)?
int MAX_CONCURRENCY = 1;
Observable.just(1, 2, 3).flatMap(num -> Observable.just(num), false, MAX_CONCURRENCY);
Observable.just(1, 2, 3).concatMap(num -> Observable.just(num));
【问题讨论】:
标签: rx-java reactive-programming