将事件函数转换为每秒发出数据的观察值

时间:2020-09-23 11:26:58

标签: angular typescript rxjs

我具有以下功能,在种子下载时会发出数据:

torrentBuffer.on('download', () => {
      
})

此功能可以非常迅速地触发事件,我可能每秒需要一次数据来更新我的数据。

如何通过可观察的rxjs实现此目标?

1 个答案:

答案 0 :(得分:1)

您应该可以使用fromEventbufferTime

fromEvent(torrentBuffer, 'download').pipe(
    takeUntil(fromEvent(torrentBuffer, 'done')),
    bufferTime(1000)
).subscribe(event => ...)

请参阅:

  1. https://www.learnrxjs.io/learn-rxjs/operators/creation/fromevent
  2. https://www.learnrxjs.io/learn-rxjs/operators/transformation/buffertime