2017-04-20 12 views
4

어떤 이유로 든 내 관찰 가능 항목에서 takeUntil 메서드를 사용할 수 없습니다.'내 모든 Observables에서'takeUntil이 함수가 아닙니다 '

내 IDE (Visual Studio Code)는 코딩하는 동안 올바른 방법으로 표시하고 잘게 (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); 

솔직히 내가 takeUntil가 발생하지 않습니다 아무것도 인스턴스화 할 수있는 방법을 찾을 수 없습니다 오류가 발생하지만 IDE는 불평하지 않으며 타이프 스크립트는 항상 올바르게 컴파일됩니다. 오류는 항상 브라우저에서 발생합니다.

답변

17

당신은 아마 takeUntil 연산자를 가져와야합니다 : 보인다

import 'rxjs/add/operator/takeUntil';

+0

문제를 해결하기 위해. 어떤 연산자가 기본적으로 사용 가능하고 어떤 연산자를 가져야하는지 어떻게 알 수 있습니까? 예를 들어,'subscribe'는 가져올 필요없이 항상 거기에 있습니다. 나는 단지 시도해 본다. 그리고 그것이 효과가 없다면, 나는 그것을 수입한다? 왜 빌드 프로세스가 연산자가 누락되었다는 사실을 알아 채지 못합니까? – WillyC

+0

나는 모든 연산자를 가져와야한다는 것을 제외하고는 알 수있는 좋은 방법이 있는지 확신하지 못합니다. IDE에는 확장 (추가) 기능이 포함 된 에 대한 여러 유형 정의가있을 수 있으므로 확장 정의를 볼 수 있습니다. – JusMalcolm

+0

rxjs 대신 rxjs/Rx를 가져 와서 모든 연산자를 가져올 수도 있습니다 – JusMalcolm