Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
RxJS:当webworker受cpu限制时,忽略除最后一条消息以外的所有消息_Rxjs - Fatal编程技术网

RxJS:当webworker受cpu限制时,忽略除最后一条消息以外的所有消息

RxJS:当webworker受cpu限制时,忽略除最后一条消息以外的所有消息,rxjs,Rxjs,我有一个网络工作者,当从主线程接收到消息时,他会处理数据。我已经创建了这些消息的热可观察性(使用fromEvent)。当工人正在处理数字时,会有几条信息告诉工人重新处理,我想忽略所有这些信息,但最新的除外 我得到了一些有用的东西: messages$.pipe( bufferTime(16), filter(x => x.length > 0), map(xs => xs[xs.length -1]) ); 但我觉得这并不理想。例如,我不喜欢在我过滤掉一堆空白数组

我有一个网络工作者,当从主线程接收到消息时,他会处理数据。我已经创建了这些消息的热可观察性(使用fromEvent)。当工人正在处理数字时,会有几条信息告诉工人重新处理,我想忽略所有这些信息,但最新的除外

我得到了一些有用的东西:

messages$.pipe(
  bufferTime(16),
  filter(x => x.length > 0),
  map(xs => xs[xs.length -1])
);
但我觉得这并不理想。例如,我不喜欢在我过滤掉一堆空白数组之前发出它们


有没有更简单的方法我忽略了?我是否需要编写自定义运算符以获得最佳解决方案?

我认为您可以用
去BounceTime(0)
替换这3个运算符:

messages$.pipe(
去BounceTime(0)
)
有几条信息会告诉工人重新咀嚼


这种方法假定这些消息是同步发送的。

很高兴我能提供帮助!