1
我想設置一個可觀察的流,我將最近的設置值與最後一個進行比較,並且我想根據兩者之間的某些更改進行過濾。我設置一個BehaviorSubject中的服務(角2,如果該事項),並創建函數返回它:用它在組件takeLast似乎殺了可觀察流
getFilters() {
return this.filtersSubject.asObservable();
}
然後,我想這樣的:
this.eventFilterService.getFilters()
.takeLast(2)
.subscribe((data) => console.log(data));
但我沒有得到控制檯日誌。如果我刪除takeLast
,我會看到我的數據返回。從文檔來看,我的假設是一樣的,它只會觸發兩次。我的目標是將takeLast
加入減少然後過濾器。
我用takeLast錯了嗎?
['buffer'](http://reactivex.io/rxjs/class/es6/Observable.js~Observable.html#instance-method-buffer)採用可觀察到的。我想你會想使用['bufferCount(2,1)'](http://reactivex.io/rxjs/class/es6/Observable.js~Observable.html#instance-method-bufferCount)。 – cartant
你是對的;不應該在通勤時在手機上寫SO回答;-) –
謝謝,我會研究這兩種功能。我假設take也等待緩衝區來完成?這就是爲什麼我討厭Rx文檔......這些例子很糟糕:/我現在意識到完成文檔意味着什麼。 – RhoVisions