Angular 对象(…)(…).takeUntil不是函数

Angular 对象(…)(…).takeUntil不是函数,angular,rxjs,angular6,rxjs6,Angular,Rxjs,Angular6,Rxjs6,我有我的观测间隔和takeuntil,它在角度5中运行良好。现在,当我将其更新为angular 6和rxjs6时,它失败了。 我从一个可观察的间隔变为另一个间隔,但TakeTill不工作。 我需要takeuntil,因为当组件被破坏时,我需要停止观察 import { Observable, Subject } from "rxjs"; private onDestroy$ = new Subject<void>(); Observable.interval(600000).ta

我有我的观测间隔和takeuntil,它在角度5中运行良好。现在,当我将其更新为angular 6和rxjs6时,它失败了。 我从一个可观察的间隔变为另一个间隔,但TakeTill不工作。 我需要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”导入{Observable,Subject};
private onDestroy$=新主题();
可观察。间隔(600000)。takeUntil(this.ondestory$)。订阅(x=>{
//做点什么
});
恩贡德斯特罗(){
this.onDestroy$.next();
}
现在是

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

从RXJS 6开始,您必须通过管道将操作符从
RXJS/operators
导入。 此外,您必须使用
间隔
和不可观察的
间隔。间隔
,:


因为RxJS 6使用pipable操作符<代码>从“rxjs/operators”导入{takeUntil}
import { interval } from 'rxjs;
import { takeUntil } from 'rxjs/operators';

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