我正在使用Redux,但RxJ有问题。
假设一个操作在2秒内被触发了3次(类型:'OPEN')。操作正在将一些数据发送到Redux状态。第一次和第三次触发会带来相同的数据,但第二次不会。在带来一些影响之前,它们都有延迟。
我希望Observable注意到,动作1和动作3具有相同的数据,并改变了输出的顺序。From % 1,% 2,% 3 => % 2,% 3。由于操作nr %3,应删除第一个。
const closeNotificationAuto = action$ =>
action$
.ofType(OPEN)
.mergeMap(action =>
Observable.of(action)
.delay(5000)
.map(() => closeAuto())
.takeUntil(
action$.ofType(CLOSE).filter(a => a.something === action.something)
)
);问:如何比较Observable中的活动流?
发布于 2018-02-13 03:28:53
在redux-observable中,不可能阻止/删除分派的操作或修改它们的顺序,因为当它们到达您的epics时,它们已经通过您的reducers和任何其他中间件运行。这是为了让epics本身成为非确定性应该发生的唯一地方;这也意味着当您在epics中接收到redux存储的状态时,您可以确定它们已经更新。
如果您能详细介绍一下用例,我也许可以推荐一些替代方法。
https://stackoverflow.com/questions/48750383
复制相似问题