我有我的观察间隔和takeuntil,它在角度5中正常工作。现在当我将它更新为角度6和rxjs6时,它失败了。我从Observable.interval更改为interval但是takeuntil不起作用。我需要takeuntil因为,我需要在组件被销毁时停止这个observable。
import { Observable, Subject } from "rxjs";
private onDestroy$ = new Subject<void>();
Observable.interval(600000).takeUntil(this.onDestroy$).subscribe(x => {
// do something
});
ngOnDestroy() {
this.onDestroy$.next();
}
从RXJS 6开始,你必须管道运算符并从rxjs/operators
导入它们。此外,你必须使用interval
而不是Observable.interval
,see this doc for more info:
import { interval } from 'rxjs;
import { takeUntil } from 'rxjs/operators';
interval(600000).pipe(
takeUntil(this.onDestroy$)
).subscribe(x => {
// do something
});
现在是
Observable.interval(600000).pipe(
takeUntil(this.onDestroy$)
).subcribe(//...