RxJS:每 x 秒取一次

RxJS: Take every x seconds

使用 RXJ,我正在努力实现这样的目标:

  1. clickStream.bufferWithTime(500).subscribe(f)
  2. clickStream.throttle(500).subscribe(f)

无论是否有 clickEvent,版本 1 每 500 毫秒调用一次 f。 仅当 clickStream 确实发送了 clickEvent 然后停止至少 500 毫秒时,版本 2 才调用 f

只要 clickStream 发出事件,我想每 500 毫秒调用一次 f。一旦它停止发出,f 应该最后一次调用。如果 clickStream 重新开始发出同样的情况应该会再次发生。

clickStream.bufferWithTime(500).filter(arr => arr.length > 0).subscribe(f)