2 回答
TA贡献1846条经验 获得超7个赞
原来使用以下方法很简单
const curTime$ = videoStreams.currentTime$.pipe(
throttle(() => interval(10000))
);
它不是每三分之一秒左右返回一次玩家的位置,而是通过限制它返回时间点(我分配给它的)的值。
TA贡献1779条经验 获得超6个赞
使用switchMap替代
“switchMap 和其他扁平化操作符之间的主要区别在于取消效果。在每次发射时,前一个内部可观察对象(您提供的函数的结果)被取消并订阅新的可观察对象。”阅读更多关于 switchMap 的内容
import { Component } from '@angular/core';
import { interval,of } from 'rxjs';
import { flatMap,switchMap } from 'rxjs/operators';
@Component({
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: [ './app.component.css' ]
})
export class AppComponent {
name = 'Angular';
currentTime$ = of(1,2,3,4,5,6,7,8)
ngOnInit() {
const int = interval(5000);
const subscription = int
.pipe(switchMap(() => this.currentTime$ ))
.subscribe(val => console.log("TIME", val));
}
}
添加回答
举报