正如标题所说,我正在寻找一些组合collect
器,它将同时发出的事件收集到一个列表中,类似于 Reactive-Banana 中的那个。换句话说:
collect :: EventStream a -> EventStream [a]
collect [(time1, e1), (time1, e2)] = [(time1, [e1,e2])]
如果它不存在,我将如何实现它?仔细阅读源代码,我看不到某种方式来读取事件发生的“时间”,例如Bacon.Event
类似乎没有记录自己发生的时间?我是否应该只使用 Javascript 的本机函数事后new Date().getTime()
标记事件,并且断言在某个任意时间范围内发生的事件实际上是“同时发生的”。