Rxjs 为什么redux中的ActionsObjectable是热可观测的?

Rxjs 为什么redux中的ActionsObjectable是热可观测的?,rxjs,observable,redux-observable,Rxjs,Observable,Redux Observable,为什么中的操作可观察到的是热观察到的 如果我们将冷观测值传递给ActionsAbservable,会发生什么 塞纳里奥: 从冷观测创建一个动作流。每当epic被多次“发射”,例如下面示例中的案例3,1+N结果只是重复第一次“发射”的结果 如果使用createHotObservable,一切都将按预期工作。我一整天都在研究这个问题,我发现只有一些文章略述了一个事实,即ActionsAbservable是热门的观察对象 // pseudo code. // Normally,the epic wi

为什么中的操作可观察到的热观察到的

如果我们将冷观测值传递给ActionsAbservable,会发生什么

塞纳里奥:

从冷观测创建一个动作流。每当epic被多次“发射”,例如下面示例中的案例3,1+N结果只是重复第一次“发射”的结果

如果使用createHotObservable,一切都将按预期工作。我一整天都在研究这个问题,我发现只有一些文章略述了一个事实,即ActionsAbservable是热门的观察对象

// 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); 
如果有人能帮忙,我将不胜感激