为什么 redux-observable 中的 Observable 是可观察的?
如果将冷可观察物传递给ActionsObservable,会发生什么?
Senario:
从冷的可观察物创建动作流。每当史诗被多次“解雇”时,例如。在以下示例的情况3中, 1 + N 结果只是重复第一个“射击”的结果。
如果使用createHotObservable,一切将按预期工作。我整天都在研究这个问题,而我发现只有一些文章对ActionsObservable是热门可观察对象这一事实一目了然。
// pseudo code.
// Normally,the epic will return "SUCCESS" 2 frames after "START". If there's "CANCEL" within 2 frames after "START", the epic will return nothing
ts = new TestScheduler()
values = {
a: { type: 'START' },
b: { type: 'SUCCESS'},
c: { type: 'CANCEL' }
};
// case 1 "success"
let source = ActionsObservable.from(
ts.createColdObservable('-a-----', values)
);
ts.expectObservable(epic(source)).toBe('---b-', values);
// case 2 "cancel"
let source = ActionsObservable.from(
ts.createColdObservable('-ac-----', values)
);
ts.expectObservable(epic(source)).toBe('----', values);
// case 3 "success and cancel". Test fail '---b---b-' received!
let source = ActionsObservable.from(
ts.createColdObservable('-a---ac--', values)
);
ts.expectObservable(epic(source)).toBe('---b-----', values);
如果有人可以提供帮助,将不胜感激。