错误'takeUntil不是我所有Observable上的函数'

Wil*_*lyC 11 javascript subject rxjs typescript

出于某种原因,我无法takeUntil在任何可观测量上使用该方法.

我的IDE(Visual Studio代码)在我编码时将它显示为一个有效的方法,它编译得很好(来自typescript),但是当我运行它时,我会看到takeUntil is not a function我的任何可观察对象.

我正在使用rxjs版本5.3.0.

我可以通过各种方式实现它,但这可能是最直接的:

let subject:BehaviorSubject<any> = new BehaviorSubject<any>({});
let unsubscribe: Subject<void> = new Subject<void>();
subject.takeUntil(unsubscribe);
Run Code Online (Sandbox Code Playgroud)

老实说,我找不到任何方法来实例化任何takeUntil不会导致错误的东西,但IDE从不抱怨并且打字机总是编译好 - 错误总是发生在浏览器中.

小智 28

你可能需要导入takeUntil运算符:

import 'rxjs/add/operator/takeUntil';