Spec-Zone.ru › Deno 2

Fetch

HTTP-клиент для получения данных по сети. Получайте ресурсы с серверов, обрабатывайте ответы и управляйте сетевыми запросами.

Например, fetch, Response, Request, Headers


функция fetch

allow-net allow-read

Перегрузка 1

fetch(
input: RequestInfo | URL,
init?: RequestInit,
): Promise<Response>

Получает ресурс из сети. Возвращает Promise, который завершается результатом Response для этого Request — независимо от того, успешно ли выполнен запрос.

const response = await fetch("http://my.json.host/data.json");
console.log(response.status);  // e.g. 200
console.log(response.statusText); // e.g. "OK"
const jsonData = await response.json();

Параметры

input: RequestInfo | URL
init: RequestInit
необязательный

Тип возвращаемого значения

Promise<Response>

Перегрузка 2

fetch(
input: RequestInfo | URL,
init?: RequestInit & { client?: Deno.HttpClient; },
): Promise<Response>

Fetch API, который также поддерживает настройку Deno.HttpClient и позволяет подключаться через прокси и использовать пользовательские сертификаты TLS.

Параметры

input: RequestInfo | URL
init: RequestInit & { client?: Deno.HttpClient; }
необязательный

Тип возвращаемого значения

Promise<Response>

интерфейс Body

Свойства

body: ReadableStream<Uint8Array<ArrayBuffer>> | null
только для чтения

Простой метод доступа, используемый для получения ReadableStream содержимого тела.

bodyUsed: boolean
только для чтения

Хранит Boolean, указывающее, использовалось ли тело в ответе.

Методы

arrayBuffer(): Promise<ArrayBuffer>

Получает поток Response и считывает его до конца. Возвращает промис, который разрешается значением ArrayBuffer.

blob(): Promise<Blob>

Получает поток Response и считывает его до конца. Возвращает промис, который разрешается значением Blob.

bytes(): Promise<Uint8Array<ArrayBuffer>>

Получает поток Response и считывает его до конца. Возвращает промис, который разрешается значением Uint8Array.

formData(): Promise<FormData>

Получает поток Response и считывает его до конца. Возвращает промис, который разрешается объектом FormData.

json(): Promise<any>

Получает поток Response и считывает его до конца. Возвращает промис, который разрешается результатом разбора текста тела как JSON.

text(): Promise<string>

Получает поток Response и считывает его до конца. Возвращает промис, который разрешается значением USVString (текст).

textStream(): ReadableStream<string>

Получает поток тела Response и возвращает ReadableStream<string>, который передаёт тело в виде текста UTF-8.


интерфейс EventSource

расширяет EventTarget

Представляет подключение к серверу, отправляющему события, отправляемые сервером. Получает обновления, передаваемые сервером в виде потока событий message через постоянное HTTP-подключение, которое автоматически восстанавливается при разрыве.

Свойства

onerror: ((
this: EventSource,
ev: Event,
) => any) | null
onmessage: ((
this: EventSource,
ev: MessageEvent,
) => any) | null
onopen: ((
this: EventSource,
ev: Event,
) => any) | null
readyState: number
только для чтения

Возвращает состояние подключения этого объекта EventSource. Оно может принимать значения, описанные ниже.

url: string
только для чтения

Возвращает URL, предоставляющий поток событий.

withCredentials: boolean
только для чтения

Возвращает true, если для запросов на подключение к URL, предоставляющему поток событий, установлен режим учётных данных "include", и false в противном случае.

CONNECTING: 0
только для чтения
OPEN: 1
только для чтения
CLOSED: 2
только для чтения

Методы

close(): void

Прерывает все экземпляры алгоритма fetch, запущенные для этого объекта EventSource, и устанавливает атрибут readyState в значение CLOSED.

addEventListener<K extends keyof EventSourceEventMap>(
type: K,
listener: (
this: EventSource,
ev: EventSourceEventMap[K],
) => any
,
options?: boolean | AddEventListenerOptions,
): void
addEventListener(
type: string,
listener: (
this: EventSource,
event: MessageEvent,
) => any
,
options?: boolean | AddEventListenerOptions,
): void
addEventListener(
type: string,
listener: EventListenerOrEventListenerObject,
options?: boolean | AddEventListenerOptions,
): void
removeEventListener<K extends keyof EventSourceEventMap>(
type: K,
listener: (
this: EventSource,
ev: EventSourceEventMap[K],
) => any
,
options?: boolean | EventListenerOptions,
): void
removeEventListener(
type: string,
listener: (
this: EventSource,
event: MessageEvent,
) => any
,
options?: boolean | EventListenerOptions,
): void
removeEventListener(
type: string,
listener: EventListenerOrEventListenerObject,
options?: boolean | EventListenerOptions,
): void

переменная EventSource

Интерфейс EventSource предоставляет веб-содержимому доступ к событиям, отправляемым сервером. Экземпляр EventSource устанавливает постоянное подключение к HTTP-серверу, который отправляет события в формате text/event-stream. Подключение остаётся открытым, пока его не закроют вызовом EventSource.close.

Свойства

prototype: EventSource
CONNECTING: 0
только для чтения
OPEN: 1
только для чтения
CLOSED: 2
только для чтения

См. также

  • https://developer.mozilla.org/docs/Web/API/EventSource


интерфейс EventSourceEventMap

Свойства

error: Event
message: MessageEvent
open: Event

интерфейс EventSourceInit

Свойства

withCredentials: boolean
необязательный
headers: HeadersInit
необязательный

интерфейс FormData

расширяет DomIterable<string, FormDataEntryValue>

Позволяет легко создать набор пар «ключ/значение», представляющих поля формы и их значения, который затем можно отправить с помощью метода XMLHttpRequest.send(). Используется тот же формат, что и для формы с типом кодирования "multipart/form-data".

Методы

append(
name: string,
value: string | Blob,
fileName?: string,
): void
delete(name: string): void
get(name: string): FormDataEntryValue | null
getAll(name: string): FormDataEntryValue[]
has(name: string): boolean
set(
name: string,
value: string | Blob,
fileName?: string,
): void

переменная FormData

Позволяет создать набор пар «ключ/значение», представляющих поля формы и их значения, который затем можно отправить с помощью API fetch. Используется тот же формат, что и для формы с типом кодирования "multipart/form-data".

Свойства

prototype: FormData
только для чтения

См. также

  • https://developer.mozilla.org/docs/Web/API/FormData


интерфейс Headers

расширяет DomIterable<string, string>

Этот интерфейс Fetch API позволяет выполнять различные действия с заголовками HTTP-запросов и ответов: получать, устанавливать, добавлять и удалять их. Объект Headers связан со списком заголовков, который изначально пуст и состоит из нуля или более пар имён и значений. Добавлять заголовки можно с помощью таких методов, как append() (см. примеры). Во всех методах этого интерфейса имена заголовков сопоставляются по последовательности байтов без учёта регистра.

Методы

append(
name: string,
value: string,
): void

Добавляет новое значение к существующему заголовку в объекте Headers или добавляет заголовок, если он ещё не существует.

delete(name: string): void

Удаляет заголовок из объекта Headers.

get(name: string): string | null

Возвращает последовательность ByteString всех значений заголовка с заданным именем в объекте Headers.

has(name: string): boolean

Возвращает логическое значение, указывающее, содержит ли объект Headers определённый заголовок.

set(
name: string,
value: string,
): void

Устанавливает новое значение для существующего заголовка в объекте Headers или добавляет заголовок, если он ещё не существует.

getSetCookie(): string[]

Возвращает массив, содержащий значения всех заголовков Set-Cookie, связанных с ответом.

переменная Headers

Этот интерфейс Fetch API позволяет выполнять различные действия с заголовками HTTP-запросов и ответов: получать, устанавливать, добавлять и удалять их. Объект Headers связан со списком заголовков, который изначально пуст и состоит из нуля или более пар имён и значений. Добавлять заголовки можно с помощью таких методов, как append() (см. примеры). Во всех методах этого интерфейса имена заголовков сопоставляются по последовательности байтов без учёта регистра.

Свойства

prototype: Headers
только для чтения

интерфейс Request

расширяет Body

Этот интерфейс Fetch API представляет запрос ресурса.

Свойства

cache: RequestCache
только для чтения

Возвращает режим кэширования, связанный с запросом. Это строка, указывающая, как запрос будет взаимодействовать с кэшем браузера при выполнении.

credentials: RequestCredentials
только для чтения

Возвращает режим учетных данных, связанный с запросом. Это строка, указывающая, будут ли учетные данные всегда отправляться вместе с запросом, не отправляться никогда или отправляться только при обращении к URL того же источника.

destination: RequestDestination
только для чтения

Возвращает тип ресурса, запрошенного запросом, например «document» или «script».

headers: Headers
только для чтения

Возвращает объект Headers, содержащий заголовки, связанные с запросом. Обратите внимание, что в этом объекте не учитываются заголовки, добавленные пользовательским агентом на сетевом уровне, например заголовок «Host».

integrity: string
только для чтения

Возвращает метаданные целостности подресурса для запроса — криптографический хеш загружаемого ресурса. Значение состоит из нескольких хешей, разделенных пробелами. [SRI]

isHistoryNavigation: boolean
только для чтения

Возвращает логическое значение, указывающее, предназначен ли запрос для навигации по истории (также называемой переходом назад или вперед).

isReloadNavigation: boolean
только для чтения

Возвращает логическое значение, указывающее, предназначен ли запрос для перезагрузки страницы, например при обновлении с помощью элемента управления перезагрузкой браузера или вызова location.reload().

keepalive: boolean
только для чтения

Возвращает логическое значение, указывающее, может ли запрос существовать дольше глобального объекта, в котором он был создан.

method: string
только для чтения

Возвращает HTTP-метод запроса. По умолчанию это «GET».

mode: RequestMode
только для чтения

Возвращает режим, связанный с запросом. Это строка, указывающая, будет ли запрос использовать CORS или будет ограничен URL-адресами того же источника.

redirect: RequestRedirect
только для чтения

Возвращает режим перенаправления, связанный с запросом. Это строка, указывающая, как будут обрабатываться перенаправления запроса при выполнении. По умолчанию запрос следует перенаправлениям.

referrer: string
только для чтения

Возвращает источник перехода для запроса. Это значение может быть URL того же источника, если оно явно задано в init, пустой строкой, обозначающей отсутствие источника перехода, или «about:client», если используется значение глобального объекта по умолчанию. При выполнении это значение используется для определения значения заголовка Referer отправляемого запроса.

referrerPolicy: ReferrerPolicy
только для чтения

Возвращает политику источника перехода, связанную с запросом. При выполнении она используется для вычисления значения источника перехода запроса.

signal: AbortSignal
только для чтения

Возвращает сигнал, связанный с запросом, — объект AbortSignal, указывающий, был ли запрос прерван, и содержащий обработчик события прерывания.

url: string
только для чтения

Возвращает URL запроса в виде строки.

Методы

clone(): Request

переменная Request

Этот интерфейс Fetch API представляет запрос ресурса.

Свойства

prototype: Request
только для чтения

интерфейс RequestInit

Свойства

body: BodyInit | null
необязательный

Объект BodyInit или null, чтобы задать тело запроса.

cache: RequestCache
необязательный

Строка, указывающая, как запрос будет взаимодействовать с кэшем браузера; задает свойство cache запроса.

credentials: RequestCredentials
необязательный

Строка, указывающая, будут ли учетные данные всегда отправляться вместе с запросом, не отправляться никогда или отправляться только при обращении к URL того же источника. Задает свойство credentials запроса.

headers: HeadersInit
необязательный

Объект Headers, объектный литерал или массив массивов из двух элементов, чтобы задать заголовки запроса.

integrity: string
необязательный

Криптографический хеш ресурса, который будет загружен запросом. Задает свойство integrity запроса.

keepalive: boolean
необязательный

Логическое значение, задающее свойство keepalive запроса.

method: string
необязательный

Строка, задающая метод запроса.

mode: RequestMode
необязательный

Строка, указывающая, будет ли запрос использовать CORS или будет ограничен URL-адресами того же источника. Задает свойство mode запроса.

priority: RequestPriority
необязательный

Строка, указывающая относительный приоритет запроса. Задает свойство priority запроса.

redirect: RequestRedirect
необязательный

Строка, указывающая, следует ли запросу перенаправлениям, приводит ли перенаправление к ошибке или возвращает само перенаправление (в непрозрачном виде). Задает свойство redirect запроса.

referrer: string
необязательный

Строка со значением URL того же источника, «about:client» или пустой строкой, задающая источник перехода для запроса.

referrerPolicy: ReferrerPolicy
необязательный

Политика источника перехода, задающая свойство referrerPolicy запроса.

signal: AbortSignal | null
необязательный

Объект AbortSignal, задающий свойство signal запроса.

window: any
необязательный

Может иметь только значение null. Используется, чтобы отвязать запрос от любого объекта Window.


интерфейс Response

расширяет Body

Этот интерфейс Fetch API представляет ответ на запрос.

Свойства

headers: Headers
только для чтения
ok: boolean
только для чтения
redirected: boolean
только для чтения
status: number
только для чтения
statusText: string
только для чтения
type: ResponseType
только для чтения
url: string
только для чтения

Методы

clone(): Response

переменная Response

Этот интерфейс Fetch API представляет ответ на запрос.

Свойства

prototype: Response
только для чтения

Методы

json(
data: unknown,
init?: ResponseInit,
): Response
error(): Response
redirect(
url: string | URL,
status?: number,
): Response

интерфейс ResponseInit

Свойства

headers: HeadersInit
необязательный
status: number
необязательный
statusText: string
необязательный

псевдоним типа BodyInit

Определение

Blob
| BufferSource
| FormData
| URLSearchParams
| ReadableStream<Uint8Array>
| Iterable<Uint8Array>
| AsyncIterable<Uint8Array>
| string

псевдоним типа FormDataEntryValue

Определение

File | string

псевдоним типа HeadersInit

Определение

Iterable<string[]> | Record<string, string>

псевдоним типа ReferrerPolicy

Определение

""
| "no-referrer"
| "no-referrer-when-downgrade"
| "origin"
| "origin-when-cross-origin"
| "same-origin"
| "strict-origin"
| "strict-origin-when-cross-origin"
| "unsafe-url"

псевдоним типа RequestCache

Определение

"default"
| "force-cache"
| "no-cache"
| "no-store"
| "only-if-cached"
| "reload"

псевдоним типа RequestCredentials

Определение

"include"
| "omit"
| "same-origin"

псевдоним типа RequestDestination

Определение

""
| "audio"
| "audioworklet"
| "document"
| "embed"
| "font"
| "image"
| "manifest"
| "object"
| "paintworklet"
| "report"
| "script"
| "sharedworker"
| "style"
| "track"
| "video"
| "worker"
| "xslt"

псевдоним типа RequestInfo

Определение

Request | string

псевдоним типа RequestMode

Определение

"cors"
| "navigate"
| "no-cors"
| "same-origin"

псевдоним типа RequestPriority

Определение

"auto"
| "high"
| "low"

псевдоним типа RequestRedirect

Определение

"error"
| "follow"
| "manual"

псевдоним типа ResponseType

Определение

"basic"
| "cors"
| "default"
| "error"
| "opaque"
| "opaqueredirect"

© 2018–2025 the Deno authors
Licensed under the MIT License.
https://docs.deno.com/api/web/fetch

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API