【问题标题】:RxJs | How to delay `mergeMap` to moment when previous inner observable completes?RxJs |如何将“mergeMap”延迟到前一个内部可观察对象完成的时刻?
【发布时间】:2020-07-11 03:53:09
【问题描述】:

如何将mergeMap 操作排入队列,以便仅在前一个完成时才一个一个地执行?

【问题讨论】:

    标签: javascript angular rxjs ngrx redux-observable


    【解决方案1】:

    您需要使用 concatMap 而不是 mergeMap。

    【讨论】:

    • 但是concatMap 只会在所有可观察对象都完成时才发出,对吧?有没有办法让它发出每个已完成的 observable,然后在队列中开始展平?
    • 不,它会从第一个流中发出所有内容,一旦完成,它就会切换到下一个流,依此类推。而 mergeMap 订阅所有内容并并行发出。
    • 这里你可以看到它是如何工作的(别忘了打开控制台)stackblitz.com/edit/concatmap-example
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-02
    • 2019-04-23
    • 1970-01-01
    • 1970-01-01
    • 2017-07-13
    • 1970-01-01
    相关资源
    最近更新 更多