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