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