WorkerGlobalScope: метод fetch()
Базовая Широко доступная *
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузера. Она доступна во всех браузерах с марта 2017 года.
* Некоторые части этой функции могут иметь различный уровень поддержки.
Примечание: Эта функция доступна только в Веб-воркерах.
Метод fetch() интерфейса WorkerGlobalScope запускает процесс получения ресурса из сети, возвращая промис, который выполняется, как только ответ станет доступен.
Промис разрешается объектом Response, представляющим ответ на ваш запрос.
Промис fetch() отклоняется только в случае неудачи запроса, например, из-за неправильно сформированной URL-адреса запроса или ошибки сети. Промис fetch() не отклоняется, если сервер отвечает с кодами HTTP-статуса, указывающими на ошибки (404, 504, и т. д.). Вместо этого обработчик then() должен проверить свойства Response.ok и/или Response.status.
Метод fetch() управляется директивой connect-src Политики безопасности контента, а не директивой ресурсов, которые он запрашивает.
Примечание: Параметры метода fetch() идентичны параметрам конструктора Request().
Синтаксис
fetch(resource) fetch(resource, options)
Параметры
resource-
Определяет ресурс, который вы хотите получить. Это может быть:
- Строка или любой другой объект со строковым преобразованием — включая объект
URL— который предоставляет URL ресурса, который вы хотите получить. URL может быть относительным к базовому URL, который являетсяbaseURIв контексте окна илиWorkerGlobalScope.locationв контексте веб-воркера. - Объект
Request.
- Строка или любой другой объект со строковым преобразованием — включая объект
optionsНеобязательно-
Объект
RequestInit, содержащий любые пользовательские настройки, которые вы хотите применить к запросу.
Возвращаемое значение
Исключения
-
AbortErrorDOMException -
Запрос был прерван из-за вызова метода
AbortControllerabort(). -
NotAllowedErrorDOMException -
Бросается, если использование API тем специфически запрещено политикой
browsing-topicsПолитики разрешений, и был сделан запросfetch()сbrowsingTopics: true. TypeError-
Ошибка, когда операцию fetch не удалось выполнить. См. исключения
Window.fetch()для списка причин возникновения этой ошибки.
Примеры
См. fetch() для примеров.
Спецификации
| Спецификация |
|---|
| Fetch # fetch-method |
Совместимость с браузерами
| Рабочий стол | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
fetch |
42 | 14 | 39 | 29 | 10.1 | 42 | 39 | 29 | 10.3 | 4.0 | 42 |
authorization_removed_cross_origin |
Нет | Нет | 111 | Нет | 16.1 | Нет | 111 | Нет | 16.1 | Нет | Нет |
blob_data_support |
48 | 79 | 39 | 35 | 10.1 | 48 | 39 | 35 | 10.3 | 5.0 | 43 |
body_readablestream |
105 | 105 | Нет | 91 | Нет | 105 | Нет | 72 | Нет | 20.0 | 105 |
init_attributionReporting_parameter |
125 | 125 | Нет | 111 | Нет | 125 | Нет | 83 | Нет | 27.0 | 125 |
init_browsingTopics_parameter |
115 | 115 | Нет | 101 | Нет | 115 | Нет | 77 | Нет | 23.0 | 115 |
init_duplex_parameter |
105 | 105 | Нет | 91 | Нет | Нет | Нет | Нет | Нет | Нет | Нет |
init_keepalive_parameter |
66 | 15 | 133 | 53 | 13 | 66 | 133 | 47 | 13 | 9.0 | 66 |
init_priority_parameter |
101 | 101 | Нет | 87 | 17.2 | 101 | Нет | 70 | 17.2 | 19.0 | 101 |
init_referrerPolicy_parameter |
52 | 79 | 52 | 39 | 11.1 | 52 | 52 | 41 | Нет | 6.0 | 52 |
init_signal_parameter |
66 | 16 | 57 | 53 | 11.1 | 66 | 57 | 47 | 11.3 | 9.0 | 66 |
См. также
© 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/WorkerGlobalScope/fetch