我想动态更改Observable计时器设置。
this.speed = 1000;
let timer = Observable.timer(1, this.speed);
sub = timer.subscribe(t => {
if (t == 10) {
this.speed = 500;
}
});
例如,如果在X秒后,我设置了this.speed = 500
。
上面的例子不起作用。是否有可能,或者我必须取消订阅这个并创建一个新的?
答案 0 :(得分:1)
你可以试试这个:
createDelayedObservable(delay: number): Observable<any> {
return Observable.of('value').delay(delay);
}
sub = createDelayedObservable(1000).subscribe(res => {/* ... */ });
答案 1 :(得分:0)
当前使用给定时间创建了Observable。您无法更改给定时间以影响可观察量。所以你需要取消订阅并创建另一个。