我对此进行了测试,似乎事件处理的顺序与源事件中列表的顺序相同。我不认为我可以依赖它,因为文档仅说明:
发出同时发生的事件。严格来说,我们有溢出。收集 = id
如何使用以下规范创建类似于溢出的函数:
发出连续的事件发生,并保证在第一个和最后一个之间不会触发其他事件
还是我应该尝试不同的方法?我正在尝试在 Reactive-Banana 中实现宏功能
我对此进行了测试,似乎事件处理的顺序与源事件中列表的顺序相同。我不认为我可以依赖它,因为文档仅说明:
发出同时发生的事件。严格来说,我们有溢出。收集 = id
如何使用以下规范创建类似于溢出的函数:
发出连续的事件发生,并保证在第一个和最后一个之间不会触发其他事件
还是我应该尝试不同的方法?我正在尝试在 Reactive-Banana 中实现宏功能
(我是反应香蕉的作者。)
似乎事件处理的顺序与源事件中列表的顺序相同。
这是正确的,你可以依赖它。事实上,它或多或少是从等式得出的spill . collect = id
。毕竟,要产生恒等映射,spill
必须保持事件的顺序,就像collect
将它们放在列表中一样。
此外,您可以检查模块的源代码Reactive.Banana.Model
(Reactive.Banana.Internal.Model
在 0.5 版中)和Reactive.Banana.Combinators
. 综合起来,他们给出了一个权威的模型实现。您可以直接检查spill
行为方式。(虽然这可能有点令人困惑,因为模型是由两部分组成的。)
尽管如此,我将在文档中添加几句话。