首页 > 解决方案 > RXJS。每隔几秒从媒体流中获取价值

问题描述

我目前有一个可观察的(称为 videoStreams.currentTime$),它发出的视频播放器的当前位置少于每秒。我怎样才能得到当前时间(由 observable 发出的值),但每 5 秒左右?

这是我得到的最接近的结果,但是每次发出一个值时,发出结果的次数都会增加。

const int = interval(5000);

const subscription = int
  .pipe(flatMap(() => videoStreams.currentTime$))
  .subscribe(val => console.log("TIME", val));

任何帮助,将不胜感激

标签: javascriptrxjsreactive-programming

解决方案


事实证明,使用以下内容很简单

 const curTime$ = videoStreams.currentTime$.pipe(
  throttle(() => interval(10000))
);

它不是每三分之一秒左右返回玩家的位置,而是通过限制它返回时间点(我分配给它)的值。


推荐阅读