【发布时间】:2016-04-26 18:31:09
【问题描述】:
考虑以下两个事件流。每个事件都有一个 timestamp/ts 和 value 属性。
我想将这两个事件具有相同时间戳的流组合成一个结果流,并应用值的转换。如果一个流缺少一个时间戳(例如下例中的黄色ts=3),则应忽略该时间戳。
希望使用响应式编程库(例如 xstream 或 rxjs)来解决问题。我对反应式编程的概念很陌生,但如果有人有其他建议,我会全神贯注。谢谢!
【问题讨论】:
-
我就是喜欢你的图表!!关于您的问题,一般来说很难,我的意思是您需要查看整个流来进行匹配,除非您可以保证排序(即时间戳随时间增加的函数,这意味着没有值出现乱序)。否则,它可能可以使用
join运算符来完成 -
谢谢 :) 我们可以假设时间戳总是按递增顺序排列的。
-
如果所有值都有不同的时间戳也很好
-
我们也可以假设,每个输入流的所有时间戳都是唯一的。
-
好吧,现在没时间看,但我会尝试使用 s1.join(s2, s1Val => s1.skipUntil(s2.value = s1Val), timer(0)) 但就是这样只是我的想法。
join函数的文档记录非常糟糕,但如果你没有得到任何答案,我可以仔细看看。
标签: javascript node.js reactive-programming rxjs xstream