Object(...)(...).takeUntil不是一个函数

问题描述 投票:0回答:2

我有我的观察间隔和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();
}
angular rxjs angular6 rxjs6
2个回答
1
投票

从RXJS 6开始,你必须管道运算符并从rxjs/operators导入它们。此外,你必须使用interval而不是Observable.intervalsee this doc for more info

import { interval } from 'rxjs;
import { takeUntil } from 'rxjs/operators';

interval(600000).pipe(
    takeUntil(this.onDestroy$)
).subscribe(x => {
    // do something
});


0
投票

现在是

Observable.interval(600000).pipe(
   takeUntil(this.onDestroy$)
).subcribe(//...
© www.soinside.com 2019 - 2024. All rights reserved.