Итак, у меня есть такой код:
async function getData() {
const response = await fetch(/* ... */);
const json = await response.json();
return transform(json);
}
Где transform
может выдавать некоторые собственные ошибки.
Я пытаюсь отловить ошибки сети из fetch
API.
try {
const data = await getData();
// ...
return // ...
} catch (e) {
if (isNetworkError(e)) {
return localStorage.getItem('...');
}
throw e;
}
Мой вопрос заключается в том, как реализовать isNetworkError
, который работает в разных браузерах? Примечание: это должно возвращать значение true, только если сеть отключена .
Кажется, что и chrome, и firefox выдают TypeError
, но у них разные сообщения.
- Firefox:
TypeError: "NetworkError when attempting to fetch resource."
- Chrome:
TypeError: Failed to fetch