Когда вы подписываетесь, вы подписываетесь с шаблоном Observer
. Итак, первая функция, которую вы передаете в
.subscribe(() => {} );
срабатывает, когда Observable
вызывает .next(...)
и после этого вы можете предоставить другую функцию, которая будет срабатывать всякий раз, когда Observable
вызывает .error(...)
так
.subscribe(() => {}, (error) => { handleTheError(error); } );
this.http.get(...);
возвращает Observable
, который вызовет .error(...)
при ошибке http
Мы также знаем, что this.http.get(...)
завершается или «ошибается», и это не бесконечная ошибка (та, которая никогда не завершается). Таким образом, вы можете сделать это обещание и манипулировать этим обещанием, как.
async getMeSomething(...) {
try {
this.mydata = await this.http.get(...).toPromise();
}
catch(error) {
handleTheError(error)
}
}
Но я действительно рекомендую использовать Swagger для своего бэкэнда, а затем сгенерировать класс клиента API с помощью NSwagStudio , чтобы вам не приходилось писать клиент вручную или настраивать его или разберись с ошибками. Я использую это все время, и это экономит нам огромное количество времени