gpt4 book ai didi

javascript - 如何在公共(public)事件属性上加入两个事件流?

转载 作者:数据小太阳 更新时间:2023-10-29 04:18:00 27 4
gpt4 key购买 nike

考虑以下两个事件流。每个事件都有一个 timestamp/ts 和 value 属性。

Input stream

我想将事件具有相同时间戳的这两个流组合成一个结果流,并应用值转换。如果一个流缺少一个时间戳(例如下面示例中的黄色 ts=3),则应忽略该时间戳。

enter image description here

想使用响应式编程库解决问题,例如 xstreamrxjs .我对响应式(Reactive)编程的概念还很陌生,但如果有人有其他建议,我会洗耳恭听。谢谢!

最佳答案

只需使用 combineLatest 并仅传递那些具有匹配时间戳的组合。其他组合映射到 null,您稍后会过滤掉它。

这是 xstream 中的解决方案:

var streamOut = xs.combine(
(a, b) => {
if (a.ts === b.ts) {
return {ts: a.ts, value: a.value + b.value};
} else {
return null;
}
},
streamA, streamB
).filter(x => x !== null);

检查它是否在 JSBin 中运行:https://jsbin.com/saxawatuza/edit?js,console .

关于javascript - 如何在公共(public)事件属性上加入两个事件流?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36873022/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com