【发布时间】:2019-06-09 09:30:56
【问题描述】:
我正在使用 storage 和 state 插件开发 Cycle JS 应用程序。
该应用使用 xstream 作为响应式库。
我的行为很奇怪。
我的流就是这个图
在第一次会话 var 更新时,我得到了这个调试结果:
- 调试 0
- 调试 1
- 调试 3
问题:“Debug 2”分支未执行
如果我更新会话项(以便产生新的存储事件),则两个分支都将按预期执行
- 调试 0
- 调试 1
- 调试 2
- 调试 3
如果在“debug 0”处添加 .remember() 也会发生同样的良好行为
- 调试 0
- 调试 1
- 调试 2
- 调试 3
没有过滤器(并且没有记住),自第一个事件以来,流程给出了这个结果
- 调试 0
- 调试 1
- 调试 2
- 调试 3
我的怀疑是在附加第二个分支之前在“调试 0”处观察到的东西,因此第一个事件已经被消耗。 但是如果这两个分支是 xs.merged 在一起怎么会发生这种情况呢?如何执行一个分支而第二个不执行?这两个分支没有过滤器或其他处理,它们只是映射到一个 reducer 函数。 有关如何调试和解决这种情况的任何建议?
【问题讨论】:
标签: reactive-programming cyclejs xstream-js