使用RxJs switchMap订阅的Angular typeahead
使用插件显示颜色。但我需要解决循环引用,就像在我使用的其他地方一样。我无法使用RxJs SwitchMap操作符。还有其他可能的解决方法吗 window.resolveJsonReferencesthis.colorService.searchColorsterm 使用RxJs SwitchMap提前键入 只需通过解析器映射值即可 .mapterm=>this.utilities.resolveJsonReferencesterm 总而言之: 搜索=文本$:可观察=> 正文$ .debounceTime200 .DistinctUntil已更改 .do=>this.search=true .switchMapterm=> this.colorService.searchColorsterm//Json结果需要循环引用解析器 .mapterm=>this.utilities.resolveJsonReferencesterm .do=>this.searchFailed=false .catch=>{ this.searchFailed=true; []的可观测回报率; } .do=>this.search=false;使用RxJs switchMap订阅的Angular typeahead,angular,rxjs,ng-bootstrap,bootstrap-typeahead,Angular,Rxjs,Ng Bootstrap,Bootstrap Typeahead,使用插件显示颜色。但我需要解决循环引用,就像在我使用的其他地方一样。我无法使用RxJs SwitchMap操作符。还有其他可能的解决方法吗 window.resolveJsonReferencesthis.colorService.searchColorsterm 使用RxJs SwitchMap提前键入 只需通过解析器映射值即可 .mapterm=>this.utilities.resolveJsonReferencesterm 总而言之: 搜索=文本$:可观察=> 正文$ .debounce
谢谢:编码快乐
search = (text$: Observable<string>) =>
text$
.debounceTime(200)
.distinctUntilChanged()
.do(() => this.searching = true)
.switchMap(term =>
this.colorService.searchColors(term) // Json result needs circular reference resolver
.do(() => this.searchFailed = false)
.catch(() => {
this.searchFailed = true;
return Observable.of([]);
}))
.do(() => this.searching = false);
return this.colorService.searchColors(term)
.subscribe(
res => {
this.colors= this.utilities.resolveJsonReferences(res);
},
err => {
});