Dan*_*ima 5 rxjs typescript rxjs5 angular
我正在尝试在我的应用程序中有一个无限滚动部分.为实现这一点,我正在使用此组件来处理滚动事件等.当滚动到达div的底部时,我正在调用一个函数来获取更多数据.到现在为止还挺好.
为了使这个功能更有效,我试图在调用之前等待几秒钟,并确保正确处理数据.为此,我一直在查看Angular网站上显示的示例,该示例展示了一个维基百科搜索.
我有一个类似于文章中显示的设置,我的问题是,当我打电话时,我收到以下错误switchMap():
Type 'void' is not assignable to type 'ObservableInput<{}>'
这是我的代码示例:
private scrollEndActive: Subject<boolean> = new Subject<boolean>();
ngOnInit() {
...
this.scrollEndActive
.debounceTime(1000)
.distinctUntilChanged()
.switchMap(data => {
// ... get data from server
})
}
...
// event to trigger call to server
scrollEnd() {
this.scrollEndActive.next(true);
}
Run Code Online (Sandbox Code Playgroud)
从研究中我发现它似乎是一个与应该返回Observable相关的问题(Type'void'不能分配给'ObservableInput <{}>'类型).但就我而言,我不确定是什么问题.
我正在与:
Sup*_*miu 10
默认情况下,箭头函数() => {...}具有返回类型,void除非您返回某些内容.
如果你想用switchMap什么来回报,你可以像yurzui在评论中所说的那样做return Observable.empty().
话虽这么说,如果你在你的内容中返回一个null的observable switchMap,这意味着你不需要switchMap你可以直接使用dooperator,它不会修改返回的数据.或者mergeMap,它允许您从原始数据中返回一个新的Observable.
| 归档时间: |
|
| 查看次数: |
6532 次 |
| 最近记录: |