Перевод не завершен. Пожалуйста, помогите перевести эту статью с английского.

Это экспериментальная технология
Так как спецификация этой технологии ещё не стабилизировалась, смотрите таблицу совместимости по поводу использования в различных браузерах. Также заметьте, что синтаксис и поведение экспериментальной технологии может измениться в будущих версиях браузеров, вслед за изменениями спецификации.

Fetch API предоставляет интерфейс для получения ресурсов (файлов и любых других данных, например, по сети). Это покажется знакомым любому, кто использовал XMLHttpRequest, но новое API является более мощным и гибким набором функций.

Понятия и использование

Fetch обеспечивает обобщенное определение объектов Request и Response (и других вещей, связанных с сетевыми запросами). Это позволит им использоваться везде, где необходимо в будущем, в том числе и для service workers, Cache API и других подобных технологий, которые обрабатывают или изменяют запросы (requests) и ответы (responses), а так же в любых других случаях, которые могут потребовать от вас генерировать свой собственный ответ программно.

Это так же предоставляет определение в отношение таких понятий, как CORS и семантика заголовоков HTTP origin, заменяя их обособленные определения где бы то ни было.

Чтобы создать запрос и получить данные, используется метод GlobalFetch.fetch. Он реализован во множестве интерфейсов, в том числе в Window и WorkerGlobalScope. Это позволяет использовать их практически в любом контексте для получения данных.

Метод fetch() принимает один обязательный аргумет —  путь к данным, которые вы хотите получить. Он возвращает promise, который ведёт к ответу (Response) на запрос, если все прошло удачно. Вы можете также передать во втором аргументе необязательный объект с указанием опций (см. Request.)

Как только Response выполнится успешно, становятся доступными несколько методов для определения тела контента и, как его содержимое должно быть обработано (см. Body.)

Вы можете создавать запрос и ответ непосредственно, используя конструкторы Request() и Response(), но маловероятно, что в этом есть необходимость. Напротив, Request и Response могут быть переданы как результат работы другого API (например, FetchEvent.respondWith в service workers.)

Заметка: Найдите больше об использовании Fetch API на Using Fetch, и изучите концепции на Fetch basic concepts.

Fetch интерфейсы

GlobalFetch
Содержит метод fetch(), используемый для получения ресурсов.
Headers
Представляет заголовки запроса/ответа, позовляет запрашивать данные и выполнять различные действия в зависимости от результата.
Request
Запрашивает ресурс.
Response
Представляет ответ на запрос.

Fetch примесь

Body
Предоставляет методы, отсносящиеся к телу запроса/ответа, позволяя вам определять content-type и то, как ответ должен быть обработан.

Спецификации

Спецификация Статус Комментарий
Fetch Живой стандарт Initial definition

Браузерная совместимость

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Базовая поддержка 42.0
 
39 (39)
34 behind pref
Нет

29
28 behind pref

Нет Баг WebKit 151937
Поток тела запроса 43.0

?

?

?

?

Feature Android Android Webview Firefox Mobile (Gecko) Firefox OS (Gecko) IE Phone Opera Mobile Safari Mobile Chrome for Android
Базовая поддержка Нет 42.0 Нет Нет Нет Нет Нет 42.0
Поток тела запроса Нет 43.0

?

?

?

?

?

43.0

Смотрите также

Метки документа и участники

 Внесли вклад в эту страницу: marichka4345, Aleynikov_Boris, Miha-x64, karatheodory, RumyantsevMichael, sashashakun, visortelle, savelevcorr
 Обновлялась последний раз: marichka4345,