Вот латунные гвозди.У меня есть этот сервисный звонок
this.searchTerm.valueChanges.debounceTime(400)
.filter(searchTerm => { return searchTerm.length >= 3;})
.distinctUntilChanged()
.switchMap((searchTerm) => this._scryfallService.getCards(searchTerm))
.subscribe(data => this.cardSearchResults = data.data,
err => this.cardSearchResults = [];
);
И его оборотная сторона выглядит следующим образом
getCards(term: string): Observable<any> {
let url = this.scryFallEndpoint + 'search?q="' + encodeURI(term) + '"+unique:prints+not:digital' ;
return this._http.get(url)
.map(res => res);
}
Служба, на которую я звоню, вернет 404, если не сможет найти что-то, используяваши условия поиска.Если я получаю ошибку 404, поиск перестает работать полностью, и мне нужно обновить страницу, чтобы выполнить другой поиск.Если поиск успешен, я могу просто перепечатать его в окне поиска, и он отлично выполняет другой вызов.
Резюме: Когда сервисный вызов 404s, кажется, что он предотвращает любые другие вызовы
Любая помощь приветствуется.