Javascript RXJS。每隔几秒钟从媒体流中获取价值

Javascript RXJS。每隔几秒钟从媒体流中获取价值,javascript,rxjs,reactive-programming,Javascript,Rxjs,Reactive Programming,我目前有一个可观测的(称为videoStreams.currentTime$),它每秒发出的视频播放器当前位置少于一次。如何获得当前时间(可观察对象发出的值),但仅每隔5秒左右 这是我得到的最接近的结果,但是每次发射一个值时,结果的发射次数都会增加 const int = interval(5000); const subscription = int .pipe(flatMap(() => videoStreams.currentTime$)) .subscribe(val =

我目前有一个可观测的(称为videoStreams.currentTime$),它每秒发出的视频播放器当前位置少于一次。如何获得当前时间(可观察对象发出的值),但仅每隔5秒左右

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

const int = interval(5000);

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

任何帮助都将不胜感激

请改用
switchMap

“switchMap与其他展平操作符之间的主要区别在于取消效果。在每次发射时,先前的内部可观测值(您提供的函数的结果)将被取消,新的可观测值将被订阅。”


改用
switchMap

“switchMap与其他展平操作符之间的主要区别在于取消效果。在每次发射时,先前的内部可观测值(您提供的函数的结果)将被取消,新的可观测值将被订阅。”


结果证明,使用以下方法很简单

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

它不是每隔三分之一秒左右返回播放器的位置,而是通过节流来返回时间点(我分配给它)的值。

结果证明,使用以下命令很简单

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

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

我不太清楚你的目的是什么,但是你能用
开关地图
代替
平面地图
告诉我们结果吗?我不太清楚你的目的是什么,但是你能用
开关地图
代替
平面地图
告诉我们结果吗?这是从
elm的一个流来的吗?您是否愿意为您的答案设置一个Stackblitz?这是来自
elm的流吗?你能不能为你的回答安排一场闪电战?