我有一个带有间隔和takeuntil的可观察值,它在 Angular 5中工作正常。现在当我将其更新到 Angular 6和rxjs6时,它失败了。 我从 Observable.interval 更改为 Interval 但 takeuntil 不起作用。 我需要 takeuntil 因为,当组件被销毁时,我需要停止这个可观察的。
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
});
关于angular - Object(...)(...).takeUntil 不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55503823/