Если в Chrome произошел сбой fetch, то единственная информация об ошибке, которую я получаю, -
TypeError: Не удалось получить
Как отобразить информационное сообщение об ошибке для конечного пользователя в этом случае?
В частности:
Можно ли получить какие-либо сведения о том, почему сбой неудачи?
Например, если сервер разбился, Chrome DevTools может зарегистрировать консольное сообщение net: ERR_EMPTY_RESPONSE, но, похоже, нет способа получить к нему доступ из JavaScript.
Насколько я могу судить, ответ - нет; Я предполагаю, что это по соображениям безопасности, чтобы не дать вредоносному JS узнать, какие сайты доступны и недоступны, проверяя сообщения об ошибках.
Можно ли отличать ошибки выборки от других TypeError
s?
Если я не могу получить данные об ошибке, я бы хотел, по крайней мере, заменить ужасно неопределенное сообщение "Failed to fetch" с информативным сообщением "Не удалось получить доступ к веб-сайту, попробуйте еще раз позже", и я как сделать это без какого-либо риска отображать это сообщение для других TypeError
s.
Единственное решение, которое я нашел здесь, - проверить фактический message
, чтобы увидеть, если он "Failed to fetch"
. Это явно зависит от браузера; он работает в Chrome, похоже, что он будет работать на любом пользовательском языке Chrome, а другим браузерам потребуется собственное тестирование и обработка.