RxJS:当webworker受cpu限制时,忽略除最后一条消息以外的所有消息
我有一个网络工作者,当从主线程接收到消息时,他会处理数据。我已经创建了这些消息的热可观察性(使用fromEvent)。当工人正在处理数字时,会有几条信息告诉工人重新处理,我想忽略所有这些信息,但最新的除外 我得到了一些有用的东西:RxJS:当webworker受cpu限制时,忽略除最后一条消息以外的所有消息,rxjs,Rxjs,我有一个网络工作者,当从主线程接收到消息时,他会处理数据。我已经创建了这些消息的热可观察性(使用fromEvent)。当工人正在处理数字时,会有几条信息告诉工人重新处理,我想忽略所有这些信息,但最新的除外 我得到了一些有用的东西: messages$.pipe( bufferTime(16), filter(x => x.length > 0), map(xs => xs[xs.length -1]) ); 但我觉得这并不理想。例如,我不喜欢在我过滤掉一堆空白数组
messages$.pipe(
bufferTime(16),
filter(x => x.length > 0),
map(xs => xs[xs.length -1])
);
但我觉得这并不理想。例如,我不喜欢在我过滤掉一堆空白数组之前发出它们
有没有更简单的方法我忽略了?我是否需要编写自定义运算符以获得最佳解决方案?我认为您可以用
去BounceTime(0)
替换这3个运算符:
messages$.pipe(
去BounceTime(0)
)
有几条信息会告诉工人重新咀嚼
这种方法假定这些消息是同步发送的。很高兴我能提供帮助!