Следующий код предназначен для аннулирования ввода, когда пользователь вводит и адрес, и он будет искать после того, как пользователь перестанет набирать 500 мс:
let debounce = this.search_terms.pipe(
debounceTime(500),
distinctUntilChanged(),
map((term: string) => this.mapify_api.searchAddress(term))
);
debounce.subscribe(
(data:any) => {
console.log('request successful');
},
(data:any) => {
console.log('request unsuccessful');
}
);
Это работает отлично, пока конечная точка, которую я вызываю, не вернет 400, что приведет к журналу консоли 'запрос не выполнен'. После этого подписка прерывается, и она больше не прослушивает изменение ввода. Почему это?