Можно ли получить информацию запроса из ошибки rxjs-timeout-error? - PullRequest
0 голосов
/ 10 января 2019

Я пытаюсь улучшить нашу текущую реализацию обработки ошибок, и одной из ее частей является лучшее описание ошибок в целом, а также в средах тестирования. Я делаю это для приложения Ionic, но так как моя проблема заключается в тайм-ауте rxjs, я думаю, что это пренебрежимо мало.

Одна часть, на которой я в данный момент застрял, - это правильная визуализация (сообщение об ошибке) ошибок тайм-аута, поскольку, похоже, они вообще не содержат ничего ценного. Я хотел бы показать пользователю, какой запрос был источником ошибки тайм-аута, когда ошибка возникает, и пользователь видит. В случае среды тестирования также должны отображаться дополнительные мысли, такие как URL, версия устройства и т. Д.

Но все, что содержит Timeout-Error, похоже, является трассировкой стека библиотеки javascript после обработки запроса post.

Итак, у меня вопрос: есть ли способ добавить или получить дополнительную информацию из ошибки тайм-аута rxjs?

Ниже вы можете увидеть, как TimeoutError из rxjs выглядит для меня. screenshot of the error in console

Спасибо!

1 Ответ

0 голосов
/ 10 января 2019

TimeoutError не имеет ничего общего со значениями, испускаемыми источником Observable. Тем не менее, он выбрасывается, когда нет источников выбросов, так что, как он может содержать какую-либо информацию.

Однако вы можете использовать catchError, чтобы получить возникшую ошибку, превратить ее в другую ошибку и отправить ее дальше с помощью throwError:

...
catchError(e => throwError({...e, ...whatever}))

Например, вы можете проверить, является ли ошибка экземпляром TimeoutError, и если это что-то сделать с ней.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...