我有一个实时搜索,但如果由于某种原因forkJoin失败,一切都停止工作。我在错误后尝试查找的任何新单词都不起作用。如何显示错误并正常恢复流,以便我可以搜索其他单词?
this.search$
.distinctUntilChanged()
.switchMap((query) => Rx.Observable.forkJoin(sources)) // If this fails the search stops working
.subscribe((results) => console.log(results));
答案 0 :(得分:2)
试试这个:
this.search$
.distinctUntilChanged()
.switchMap((query) => Rx.Observable.forkJoin(sources)
// return empty results object, I used an empty array...
.catch(error => Observable.of([])))
.subscribe((results) => console.log(results));
请注意,catch()
位于forkJoin()
,而不是switchMap()
...