我試圖建立與rxjs一個angular2部件訂閱不執行分配時對組件屬性
this._subscription = Observable.timer(1000).subscribe(() => {
console.log('inside timeout')
})
內可觀察到的超時功能,在其他方法退訂它。但是如果我改變
let _subscription = Observable.timer(1000).subscribe(() => {
console.log('inside timeout')
})
它工作正常,可觀察到從未執行 。我也試過
this._subscription=setTimeout(()=>{},1000)
同樣的事情發生了。我懷疑這是ngZone的bug,所以我把這個功能包裹起來
this._ngZone.runOutsideAngular(() => {})
但是結果是一樣的。任何人都會遇到同樣的問題?我正在使用angular 2.2.4
_並在其他方法中取消訂閱它 - 顯示完整的代碼。 _同事發生了 - 同樣的事情? –
可觀察未執行。它僅在您未將其分配給訂閱變量或將其分配給本地作用域subscrioption變量時才執行。 –
這是不正確的,只要你訂閱一個observable它被執行,在你的情況下,在1000毫秒內,你應該看到日誌消息**,除非**你在1000毫秒通過之前退訂 –