2017-02-19 57 views
7

所以一個簡單的問題。我已經使用了RxJS 5幾個月了,而且我遇到了一些我不太瞭解的行爲,因爲我無法在任何地方查看它。RXJS 5.subscribe()無參數

我處於訂閱只有.subscribe();的可觀察鏈不觸發觀察值的情況。

不過,如果我添加一個onNext回調(空或不),可觀察到觸發,和鏈流程:.subscribe(() => {});

任何人都可以解釋爲什麼這種行爲發生?

EDIT2 - 刪除不相關的例子

+0

調用'.subscribe();'不帶任何參數應該工作。你能發佈一個更完整的例子嗎? – Ashley

+0

你可以做一個演示嗎?所有'subscribe()'的參數都是可選的,它沒有任何參數。 – martin

+0

在上面的示例中(現在位於RxJS 5.2.0和Ionic 2.2.0)中檢出了相同的功能,現在它沒有正文進行處理。我會離開這個線程,以防問題出現。 – DarkNeuron

回答

3

.subscribe()實際上不需要任何參數,它只是創造一個emptyObserver如果沒有給出,這應該工作一樣好。

儘管在某些5.0.0-beta版本中存在與此相關的問題,但如果您使用其中一個版本,則應更新爲更穩定的版本。

const obs$ = Rx.Observable.of("Foo") 
 
    .do(() => console.log("triggered!")); 
 
    
 
obs$.subscribe(); 
 
obs$.subscribe();
<script src="https://unpkg.com/[email protected]/bundles/Rx.min.js"></script>

+1

我也在RxJS 5.1.1上。我會嘗試發佈一個我的代碼的例子。 – DarkNeuron