Ответ: статический метод error()
Базовая Широко доступная
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с марта 2017 года.
Примечание: Эта функция доступна в Web Workers.
Статический метод error() интерфейса Response возвращает новый объект Response , связанный с ошибкой сети.
Это полезно в первую очередь при написании сервисных рабочих процессов: это позволяет сервисному рабочему процессу отправлять ответ из обработчика события fetch, что вызовет отказ обещания при вызове fetch() в коде основного приложения.
Ответ с ошибкой имеет свойство type, установленное в значение error.
Синтаксис
Response.error()
Параметры
Нет.
Возвращаемое значение
Объект Response.
Примеры
Возвращение ошибки сети из сервисного рабочего процесса
Предположим, что веб-приложение имеет сервисный рабочий процесс, который содержит следующий обработчик события fetch:
// service-worker.js
self.addEventListener("fetch", (event) => {
const url = new URL(event.request.url);
if (url.pathname === "/salamander.jpg") {
event.respondWith(Response.error());
}
});
С этим сервисным рабочим процессом все запросы fetch из приложения будут проходить через сервисный рабочий процесс в сеть, за исключением запросов для "salamander.jpg", которые будут отклонены. Это означает, что следующий код на основном потоке вызовет ошибку, и будет запущен обработчик catch.
// main.js
const image = document.querySelector("#image");
try {
const response = await fetch("salamander.jpg");
const blob = await response.blob();
const objectURL = URL.createObjectURL(blob);
image.src = objectURL;
} catch (e) {
console.error(e);
}
Спецификации
| Спецификация |
|---|
| Fetch # ref-for-dom-response-error① |
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на IOS | Samsung Internet | WebView Android | |
error_static |
43 | 16 | 39 | 30 | 10.1 | 43 | 39 | 30 | 10.3 | 4.0 | 43 |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Response/error_static