Эта ошибка начала появляться после перехода на TS 2.2.2, поэтому я предполагаю, что проблема... Код не переставал работать, но теперь я получаю эту ошибку, и я пробовал несколько вещей, таких как возвращение пустой наблюдаемый, поймавший переброшенное исключение и возвращающее объект, ничего не работало. Почему это происходит сейчас? Разве он не понимает, что я перебрасываю исключение и не ожидаю возврата? Я неправильно понял ошибку?
Это полное описание ошибки:
Здесь полный код:
return request
.map((res: Response) => res.json())
.catch((error: any) => {
// todo: log?
if (error.status == 500) {
this.alertService.showError(error.statusText);
} else if (error.status == 588) {
this.alertService.showAlert(error.statusText);
}
Observable.throw(error.statusText);
});
Я попытался вернуть Observable, но мой метод-оболочка ожидает возврата типа T
, который является возвратом моего десериализованного запроса (map(...)
). Если я возвращаю throw
, то это ошибка, которую я получаю:
[ts] Тип 'Observable' не присваивается типу 'T'
Я использую:
- Angular4
- Typescript 2.2.2