С Observables
вы должны использовать оператор catchError
вместо try / catch:
this.httpService.get(API.ID_URL + title, requestOptions)
.pipe(catchError(err => {
if (err.response && err.response.status == 400) {
return of({});
} else {
this.errorHandling(err);
}
}));
В качестве альтернативы, вы можете преобразовать Observable
в Promise
.С помощью async / await вы можете использовать try / catch:
async getData(title: string) {
^^^^^
// ...
try {
return await this.httpService.get(API.ID_URL + title, requestOptions).toPromise();
^^^^^ ^^^^^^^^^^^^
} catch (error) {
if(error.response.status == 400){
return emptyResponse;
^^^^^^^^^^^^^
}
this.errorHandling(error);
}
Обратите внимание, что getData
теперь возвращает Promise
, а не Observable
, поэтому вам нужно изменить места, где вызывается метод.