【问题标题】:How to do sequence maps so that each map waits for the previous in rxjs?如何做序列映射,以便每个映射等待 rxjs 中的前一个?
【发布时间】:2018-07-10 08:24:34
【问题描述】:
const source = Rx.Observable.from([1, 2, 3, 4, 5]);
const example = source.map(val => { /* asynchronous logic here*/ })
                      .map(val => { /* asynchronous logic here*/ });
                      .map(val => { /* asynchronous logic here*/ });

如何使每个map 等待前一个map 的异步执行?

【问题讨论】:

标签: javascript angular rxjs


【解决方案1】:

您应该使用concatMap 而不是map 并从其回调中返回 Observable:

const source = Rx.Observable.from([1, 2, 3, 4, 5]);
const example = source
  .concatMap(val => { /* asynchronous logic here*/ })
  .concatMap(val => { /* asynchronous logic here*/ })
  .concatMap(val => { /* asynchronous logic here*/ });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-12-04
    • 1970-01-01
    • 1970-01-01
    • 2021-03-06
    • 1970-01-01
    • 1970-01-01
    • 2011-11-19
    • 1970-01-01
    相关资源
    最近更新 更多