4
由於某些原因,我無法在我的任何觀察對象上使用takeUntil
方法。在我的所有觀察對象上出現錯誤'takeUntil不是函數'
當我編碼時,我的IDE(Visual Studio Code)顯示它是一個有效的方法,它編譯得很好(來自打字稿),但是當我運行它時,我的任何可觀察對象都得到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從不抱怨,打字稿總是編譯得很好 - 錯誤總是出現在瀏覽器中。
這似乎解決問題。您如何知道默認情況下哪些運營商可用,以及您需要導入哪些運營商?例如,'subscribe'總是在那裏,我不需要導入它。我想我只是嘗試,如果它不起作用,我輸入它?爲什麼構建過程不能捕捉到操作員缺失的事實? – WillyC
我不確定除了假設你將不得不導入所有操作員之外,還有一個很好的方法可以知道。您的IDE可能具有多個包含擴展(添加)功能的類型定義,因此您可以看到擴展定義。 –
JusMalcolm
您還可以通過導入rxjs/Rx而不是rxjs來導入所有運算符 – JusMalcolm