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

Object(...)(...).takeUntil is not a function

我有我的 observable with interval 和 takeuntil,它在 angular 5 中工作正常。现在当我将它更新到 angular 6 和 rxjs6 时,它失败了。 我从 Observable.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();
}

现在

Observable.interval(600000).pipe(
   takeUntil(this.onDestroy$)
).subcribe(//...

从 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
});