【发布时间】:2023-04-28 13:17:01
【问题描述】:
部分讲述了 FRP 流处理中的 merge 操作(使用Sodium library)。 Book 展示了下图的流组合,并说当事件通过流进入 FRP 逻辑时,会导致在事务上下文中发生的级联状态更改,因此所有更改都是原子的。
事件流 - sDeselect、sSelect(参见 2 个事件:“+”和“-”)源自 UI 控件,因为它们发生在同一个 FRP 事务中,因此它们携带的事件被认为是同时发生的。然后书上说
merge 实现必须将事件存储在临时存储中 直到它知道它不会再收到任何输入。然后它 输出一个事件:如果它收到多个事件,它使用提供的 将它们结合起来的功能;否则,它会输出一个事件 收到了。
问题:什么时候是“不再有意见”的时候?合并函数如何知道这一刻?仅仅是它从给定图表上的第二个传入流中获取值的时间还是我错过了smth?你能用一个更好的流示例来说明它吗?
【问题讨论】:
标签: functional-programming frp sodiumfrp