什么是RxJS(redux-observable)替代来自redux-saga的最新版本?

时间:2018-01-20 12:53:45

标签: rxjs redux-saga redux-observable

如果史诗收到新动作,请停止处理旧动作。 一点上下文:我有一个史诗,它会发出一些延迟的动作。 如果史诗收到新动作,我需要取消它们。

Redux-saga效果完全符合我的要求: takeLatest

1 个答案:

答案 0 :(得分:3)

这正是.switchMap运算符的作用:

  

将每个源值投影到在输出中合并的Observable   可观察,仅从最近投射的Observable中发出值。

在此示例中,您可以看到在新的interval到达后,之前的click不再处理:



const clicks = Rx.Observable.fromEvent(document, 'click');
const result = clicks.switchMap((ev) => Rx.Observable.interval(1000));

result.subscribe(x => console.log(x));

<script src="https://unpkg.com/rxjs/bundles/Rx.min.js"></script>
<button>send new click</button>
&#13;
&#13;
&#13;