跳到主要内容
版本:v7

CapacitorHttp

Capacitor Http API 通过修补 fetchXMLHttpRequest 以使用原生库,提供原生 HTTP 支持。它还提供了在不使用 fetchXMLHttpRequest 的情况下进行原生 HTTP 请求的辅助方法。该插件已捆绑在 @capacitor/core 中。

配置

默认情况下,修补 window.fetchXMLHttpRequest 以使用原生库的功能是禁用的。 如果你想启用此功能,请在 capacitor.config 文件中修改以下配置。

属性类型描述默认值
enabledboolean启用修补 fetchXMLHttpRequest 以使用原生库。false

配置示例

capacitor.config.json 中:

{
"plugins": {
"CapacitorHttp": {
"enabled": true
}
}
}

capacitor.config.ts 中:

import { CapacitorConfig } from '@capacitor/cli';

const config: CapacitorConfig = {
plugins: {
CapacitorHttp: {
enabled: true,
},
},
};

export default config;

示例

import { CapacitorHttp } from '@capacitor/core';

// GET 请求示例
const doGet = () => {
const options = {
url: 'https://example.com/my/api',
headers: { 'X-Fake-Header': 'Fake-Value' },
params: { size: 'XL' },
};

const response: HttpResponse = await CapacitorHttp.get(options);

// 或者...
// const response = await CapacitorHttp.request({ ...options, method: 'GET' })
};

// POST 请求示例。注意:数据可以作为原始的 JS 对象传递(必须是可 JSON 序列化的)
const doPost = () => {
const options = {
url: 'https://example.com/my/api',
headers: { 'X-Fake-Header': 'Fake-Value' },
data: { foo: 'bar' },
};

const response: HttpResponse = await CapacitorHttp.post(options);

// 或者...
// const response = await CapacitorHttp.request({ ...options, method: 'POST' })
};

大文件支持

由于桥接的本质,从原生层解析和传输大量数据到 Web 层可能会导致问题。计划在不久的将来将下载和上传文件到原生设备的功能添加到 @capacitor/filesystem 插件中。在此期间,一种可能规避内存耗尽问题(特别是在 Android 上)的方法是编辑 AndroidManifest.xml 并在 application 元素中添加 android:largeHeap="true"。大多数应用不需要这样做,而应专注于减少整体内存使用以提高性能。启用此功能也不能保证可用内存有固定的增加,因为某些设备受其总可用内存的限制。

API

****** HTTP 插件 *******

request(...)

request(options: HttpOptions) => Promise<HttpResponse>

使用原生库向服务器发起 HTTP 请求。

参数类型
options
HttpOptions

返回值:

Promise<HttpResponse>


get(...)

get(options: HttpOptions) => Promise<HttpResponse>

使用原生库向服务器发起 HTTP GET 请求。

参数类型
options
HttpOptions

返回值:

Promise<HttpResponse>


post(...)

post(options: HttpOptions) => Promise<HttpResponse>

使用原生库向服务器发起 HTTP POST 请求。

参数类型
options
HttpOptions

返回值:

Promise<HttpResponse>


put(...)

put(options: HttpOptions) => Promise<HttpResponse>

使用原生库向服务器发起 HTTP PUT 请求。

参数类型
options
HttpOptions

返回值:

Promise<HttpResponse>


patch(...)

patch(options: HttpOptions) => Promise<HttpResponse>

使用原生库向服务器发起 HTTP PATCH 请求。

参数类型
options
HttpOptions

返回值:

Promise<HttpResponse>


delete(...)

delete(options: HttpOptions) => Promise<HttpResponse>

使用原生库向服务器发起 HTTP DELETE 请求。

参数类型
options
HttpOptions

返回值:

Promise<HttpResponse>


接口

HttpResponse

属性类型描述
dataany随 HTTP 响应接收到的额外数据。
statusnumber从 HTTP 响应接收到的状态码。
headers
HttpHeaders
从 HTTP 响应接收到的头部信息。
urlstring从 HTTP 响应接收到的响应 URL。

HttpHeaders#### HttpOptions| 属性 | 类型 | 说明 |

| ------------------------- | ------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | url | string | 要发送请求的 URL。 | | method | string | 要使用的 HTTP 请求方法。(默认为 GET) | | params |

HttpParams
| 要附加到请求的 URL 参数。 | | data | any | 注意:在 Android 和 iOS 上,data 只能是字符串或 JSON。FormDataBlobArrayBuffer 以及其他复杂类型仅在 Web 端直接支持,或者通过配置启用 CapacitorHttp 并使用修补后的 window.fetchXMLHttpRequest 支持。如果需要发送复杂类型,应将数据序列化为 base64,并相应设置 headers["Content-Type"]dataType 属性。 | | headers |
HttpHeaders
| 随请求发送的 HTTP 请求头。 | | readTimeout | number | 等待读取额外数据的时长(以毫秒计)。每次接收到新数据时重置。 | | connectTimeout | number | 等待初始连接的时长(以毫秒计)。 | | disableRedirects | boolean | 设置是否应禁用自动 HTTP 重定向。 | | webFetchExtra |
RequestInit
| 在 Web 端运行时为 fetch 提供的额外参数。 | | responseType |
HttpResponseType
| 用于在将响应返回给请求者之前对其进行适当解析。如果响应内容类型是 "json",则忽略此值。 | | shouldEncodeUrlParams | boolean | 如果需要在某些情况下(例如 URL 已编码、Azure/Firebase 测试等)保持 URL 不编码,请使用此选项。默认值为 true。 || dataType | 'file' | 'formData' | 当我们需要将数据从JS类型转换为原生层需要特殊处理的类型时,会使用此参数 |#### HttpParams

RequestInit

属性类型描述
body
BodyInit
一个 BodyInit 对象或 null,用于设置请求体。
cache
RequestCache
一个字符串,指示请求将如何与浏览器缓存交互,用于设置请求的缓存模式。
credentials
RequestCredentials
一个字符串,指示是否以及何时发送凭据(始终发送、从不发送,或仅在同源 URL 时发送)。设置请求的凭据模式。
headers
HeadersInit
一个 Headers 对象、对象字面量或由二元数组组成的数组,用于设置请求头。
integritystring要请求资源的加密哈希值,用于设置请求的完整性属性。
keepaliveboolean一个布尔值,设置请求的 keepalive 属性。
methodstring一个字符串,设置请求的方法。
mode
RequestMode
一个字符串,指示请求是否使用 CORS,或是否仅限于同源 URL。设置请求的模式。
redirect
RequestRedirect
一个字符串,指示请求如何处理重定向(跟随重定向、在遇到重定向时报错,或以不透明方式返回重定向)。设置请求的重定向模式。
referrerstring一个字符串,其值为同源 URL、"about:client" 或空字符串,用于设置请求的引用来源。
referrerPolicy
ReferrerPolicy
一个引用来源策略,用于设置请求的 referrerPolicy。
signal
AbortSignal
一个 AbortSignal 对象,用于设置请求的信号。
windowany只能为 null。用于将请求与任何 Window 对象解除关联。

Blob

一个表示不可变原始数据的类文件对象。Blob 表示的数据不一定是 JavaScript 原生格式。File 接口基于 Blob,继承了 Blob 的功能并扩展以支持用户系统上的文件。 Blob 类是 require('node:buffer').Blob 的全局引用 https://nodejs.org/api/buffer.html#class-blob

属性类型
sizenumber
typestring
方法签名
arrayBuffer() => Promise<ArrayBuffer>
slice(start?: number, end?: number, contentType?: string) => Blob
stream() => ReadableStream
text() => Promise<string>

ArrayBuffer

表示一个原始的二进制数据缓冲区,用于存储不同类型化数组的数据。ArrayBuffer 不能直接读写,但可以传递给类型化数组或 DataView 对象,以便按需解释原始缓冲区。

属性类型描述
byteLengthnumber只读属性。ArrayBuffer 的长度(以字节为单位)。
方法签名描述
slice(begin: number, end?: number) => ArrayBuffer返回 ArrayBuffer 的一个切片。

此 Streams API 接口表示一个字节数据的可读流。Fetch API 通过 Response 对象的 body 属性提供了 ReadableStream 的具体实例。

属性类型
lockedboolean
方法签名
cancel(reason?: any) => Promise<void>
getReader() => ReadableStreamDefaultReader<R>
pipeThrough<T>(transform: ReadableWritablePair<T, R>, options?: StreamPipeOptions) => ReadableStream<T>
pipeTo(dest: WritableStream<R>, options?: StreamPipeOptions) => Promise<void>
tee() => [ReadableStream<R>, ReadableStream<R>]

ReadableStreamDefaultReader(可读流默认读取器)

方法签名
read() => Promise<ReadableStreamDefaultReadResult<R>>
releaseLock() => void

ReadableStreamDefaultReadValueResult(可读流默认读取值结果)

属性类型
donefalse
valueT

ReadableStreamDefaultReadDoneResult(可读流默认读取完成结果)

属性类型
donetrue
value

ReadableWritablePair(可读可写对)

属性类型描述
readable
ReadableStream<R>
writable
WritableStream<W>
提供了一种便捷、可链式调用的方式,将此可读流通过转换流(或任何其他 { 可写, 可读 } 对)进行管道传输。它简单地将流管道传输到所提供对的可写端,并返回可读端以供进一步使用。管道传输流将在传输期间锁定该流,防止任何其他消费者获取读取器。

WritableStream(可写流)

此 Streams API 接口为将流数据写入目标(称为接收器)提供了一个标准抽象。该对象内置了背压和队列机制。

属性类型
lockedboolean
方法签名
abort(reason?: any) => Promise<void>
getWriter() => WritableStreamDefaultWriter<W>

WritableStreamDefaultWriter(可写流默认写入器)

此 Streams API 接口是由 WritableStream.getWriter() 返回的对象,一旦创建,它会将写入器锁定到 WritableStream,确保没有其他流可以写入底层接收器。

属性类型
closedPromise<undefined>
desiredSizenumber
readyPromise<undefined>
方法签名
abort(reason?: any) => Promise<void>
close() => Promise<void>
releaseLock() => void
write(chunk: W) => Promise<void>
----------------------------------------------------------------------
preventAbortboolean
preventCloseboolean
signal
AbortSignal

一个信号对象,允许你与 DOM 请求(例如 Fetch)进行通信,并在需要时通过 AbortController 对象中止该请求。

属性类型描述
abortedboolean如果此 AbortSignal 的 AbortController 已发出中止信号,则返回 true,否则返回 false。
onabort
(this: AbortSignal, ev: Event) => any
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
addEventListener<K extends "abort">(type: K, listener: (this: AbortSignal, ev: AbortSignalEventMap[K]) => any, options?: boolean | AddEventListenerOptions) => void为事件类型属性值为 type 的事件添加一个事件监听器。callback 参数设置当事件被派发时将被调用的回调函数。options 参数设置监听器特定的选项。为了兼容性,此参数可以是一个布尔值,此时该方法的行为完全等同于将值指定为 optionscapture 属性。当设置为 true 时,optionscapture 属性会阻止 callback 在事件的 eventPhase 属性值为 BUBBLING_PHASE 时被调用。当为 false(或未提供)时,callback 在事件的 eventPhase 属性值为 CAPTURING_PHASE 时不会被调用。无论哪种情况,如果事件的 eventPhase 属性值为 AT_TARGETcallback 都将被调用。当设置为 true 时,optionspassive 属性表示回调函数不会通过调用 preventDefault() 来取消事件。这用于启用 § 2.8 观察事件监听器中描述的性能优化。当设置为 true 时,optionsonce 属性表示回调函数只会被调用一次,之后事件监听器将被移除。该事件监听器会被添加到目标的监听器列表中,但如果已存在具有相同 typecallbackcapture 的监听器,则不会重复添加。
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions) => void为事件类型属性值为 type 的事件添加一个事件监听器。callback 参数设置当事件被派发时将被调用的回调函数。options 参数设置监听器特定的选项。为了兼容性,此参数可以是一个布尔值,此时该方法的行为完全等同于将值指定为 optionscapture 属性。当设置为 true 时,optionscapture 属性会阻止 callback 在事件的 eventPhase 属性值为 BUBBLING_PHASE 时被调用。当为 false(或未提供)时,callback 在事件的 eventPhase 属性值为 CAPTURING_PHASE 时不会被调用。无论哪种情况,如果事件的 eventPhase 属性值为 AT_TARGETcallback 都将被调用。当设置为 true 时,optionspassive 属性表示回调函数不会通过调用 preventDefault() 来取消事件。这用于启用 § 2.8 观察事件监听器中描述的性能优化。当设置为 true 时,optionsonce 属性表示回调函数只会被调用一次,之后事件监听器将被移除。该事件监听器会被添加到目标的监听器列表中,但如果已存在具有相同 typecallbackcapture 的监听器,则不会重复添加。
removeEventListener<K extends "abort">(type: K, listener: (this: AbortSignal, ev: AbortSignalEventMap[K]) => any, options?: boolean | EventListenerOptions) => void从目标的事件监听器列表中移除具有相同 typecallbackoptions 的事件监听器。
属性类型
"abort"
Event

发生在 DOM 中的事件。

属性类型描述
bubblesboolean根据事件的初始化方式返回 true 或 false。如果事件会沿着其目标的祖先节点进行反向树序传播则为 true,否则为 false。
cancelBubbleboolean
cancelableboolean根据事件的初始化方式返回 true 或 false。其返回值并不总是具有实际意义,但 true 可以表示在事件派发过程中,可以通过调用 preventDefault() 方法来取消部分操作。
composedboolean根据事件的初始化方式返回 true 或 false。如果事件会触发其目标所在 ShadowRoot 节点之外的监听器则为 true,否则为 false。
currentTarget
EventTarget
返回当前正在调用其事件监听器回调的对象。
defaultPreventedboolean如果 preventDefault() 方法已成功调用以表示取消操作,则返回 true,否则返回 false。
eventPhasenumber返回事件当前所处的阶段,取值为 NONE、CAPTURING_PHASE、AT_TARGET 和 BUBBLING_PHASE 之一。
isTrustedboolean如果事件是由用户代理(浏览器)派发的,则返回 true,否则返回 false。
returnValueboolean
srcElement
EventTarget
target
EventTarget
返回事件被派发到的对象(即其目标)。
timeStampnumber返回事件的时间戳,以相对于时间原点的毫秒数表示。
typestring返回事件的类型,例如 "click"、"hashchange" 或 "submit"。
AT_TARGETnumber
BUBBLING_PHASEnumber
CAPTURING_PHASEnumber
NONEnumber
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
composedPath() => EventTarget[]返回事件路径上的调用目标对象(监听器将被调用的对象),不包括影子树中模式为"closed"且无法从事件当前目标访问的任何节点。
initEvent(type: string, bubbles?: boolean, cancelable?: boolean) => void
preventDefault() => void当 cancelable 属性值为 true 且在事件监听器执行期间(passive 设置为 false 时)调用,会向触发事件的操作发出需要取消的信号。
stopImmediatePropagation() => void调用此方法可阻止事件在当前监听器运行完成后到达任何已注册的事件监听器,并且在树状结构中分发时,还能阻止事件到达任何其他对象。
stopPropagation() => void在树状结构中分发时,调用此方法可阻止事件到达除当前对象之外的任何其他对象。

EventTarget 是一个 DOM 接口,由能够接收事件并可能拥有事件监听器的对象实现。

方法签名描述
addEventListener(type: string, listener: EventListenerOrEventListenerObject | null, options?: boolean | AddEventListenerOptions) => void为事件类型属性值为 type 的事件追加一个事件监听器。callback 参数设置当事件被派发时将调用的回调函数。options 参数设置监听器特定的选项。为了兼容性,该参数也可以是一个布尔值,此时方法的行为与将值指定为 optionscapture 属性完全相同。当设置为 true 时,optionscapture 属性会阻止回调函数在事件的 eventPhase 属性值为 BUBBLING_PHASE 时被调用。当为 false (或不提供) 时,回调函数不会在事件的 eventPhase 属性值为 CAPTURING_PHASE 时被调用。无论哪种情况,如果事件的 eventPhase 属性值是 AT_TARGET,回调函数都会被调用。当设置为 true 时,optionspassive 属性表示回调函数不会通过调用 preventDefault() 来取消事件。这用于启用 §2.8 观察事件监听器中描述的性能优化。当设置为 true 时,optionsonce 属性表示回调函数只会被调用一次,之后事件监听器将被移除。该事件监听器会被追加到目标的监听器列表中;如果存在类型、回调和捕获选项都相同的监听器,则不会被重复追加。
dispatchEvent(event: Event) => boolean将一个人工合成的事件 event 派发到目标,并返回一个布尔值。如果事件的 cancelable 属性值为 false 或其 preventDefault() 方法未被调用,则返回 true,否则返回 false
removeEventListener(type: string, callback: EventListenerOrEventListenerObject | null, options?: EventListenerOptions | boolean) => void从目标的事件监听器列表中移除具有相同类型、回调和选项的事件监听器。

EventListener#### EventListenerObject

方法签名
handleEvent(evt: Event) => void

AddEventListenerOptions

属性类型
onceboolean
passiveboolean

EventListenerOptions

属性类型
captureboolean

ArrayBufferView

属性类型描述
buffer
ArrayBufferLike
数组引用的 ArrayBuffer 实例。
byteLengthnumber数组的字节长度。
byteOffsetnumber数组的字节偏移量。

ArrayBufferTypes

用于 ArrayBufferView 及相关类型数组缓存的允许的 ArrayBuffer 类型。

属性类型
ArrayBuffer
ArrayBuffer

FormData

提供了一种简便的方式来构造一组表示表单字段及其值的键/值对,然后可以使用 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
forEach(callbackfn: (value: FormDataEntryValue, key: string, parent: FormData) => void, thisArg?: any) => void

File

提供有关文件的信息,并允许网页中的 JavaScript 访问其内容。

属性类型
lastModifiednumber
namestring

URLSearchParams

URLSearchParams 类是 require('url').URLSearchParams 的全局引用。 https://nodejs.org/api/url.html#class-urlsearchparams

方法签名描述
append(name: string, value: string) => void将指定的键/值对作为新的查询参数追加。
delete(name: string) => void从所有查询参数列表中删除给定的查询参数及其关联的值。
get(name: string) => string | null返回与给定查询参数关联的第一个值。
getAll(name: string) => string[]返回与给定查询参数关联的所有值。
has(name: string) => boolean返回一个布尔值,指示是否存在该查询参数。
set(name: string, value: string) => void将给定查询参数关联的值设置为给定值。如果存在多个值,则删除其他值。
sort() => void对查询参数进行排序。
toString() => string返回一个包含适合在 URL 中使用的查询字符串。不包含问号。
forEach(callbackfn: (value: string, key: string, parent: URLSearchParams) => void, thisArg?: any) => void对每个查询参数执行指定回调。

一种 8 位无符号整数值的类型化数组。数组内容初始化为 0。如果无法分配请求的字节数,则会抛出异常。

属性类型说明
BYTES_PER_ELEMENTnumber数组中每个元素的大小(以字节为单位)。
buffer
ArrayBufferLike
数组引用的 ArrayBuffer 实例。
byteLengthnumber数组的长度(以字节为单位)。
byteOffsetnumber数组的偏移量(以字节为单位)。
lengthnumber数组的长度。
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
copyWithin(target: number, start: number, end?: number) => this拷贝数组中由 start 和 end 标识的区域到同一数组的 target 位置,并返回 this 对象。
every(predicate: (value: number, index: number, array: Uint8Array) => unknown, thisArg?: any) => boolean检测数组中的所有元素是否都满足指定测试条件。
fill(value: number, start?: number, end?: number) => this使用 value 值填充数组中由 start 和 end 标识的区域,并返回 this 对象。
filter(predicate: (value: number, index: number, array: Uint8Array) => any, thisArg?: any) => Uint8Array返回数组中满足回调函数中指定条件的元素。
find(predicate: (value: number, index: number, obj: Uint8Array) => boolean, thisArg?: any) => number | undefined返回数组中第一个使谓词函数返回 true 的元素值,如果没有则返回 undefined。
findIndex(predicate: (value: number, index: number, obj: Uint8Array) => boolean, thisArg?: any) => number返回数组中第一个使谓词函数返回 true 的元素的索引,如果没有则返回 -1。
forEach(callbackfn: (value: number, index: number, array: Uint8Array) => void, thisArg?: any) => void对数组中的每个元素执行指定的操作。
indexOf(searchElement: number, fromIndex?: number) => number返回数组中第一次出现指定值的索引。
join(separator?: string) => string将数组中的所有元素用指定的分隔符字符串连接起来。
lastIndexOf(searchElement: number, fromIndex?: number) => number返回数组中最后一次出现指定值的索引。
map(callbackfn: (value: number, index: number, array: Uint8Array) => number, thisArg?: any) => Uint8Array对数组中的每个元素调用定义的回调函数,并返回包含结果的数组。
reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array) => number) => number为数组中的所有元素调用指定的回调函数。回调函数的返回值是累积结果,并作为参数提供给下一次回调函数调用。
reduce(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array) => number, initialValue: number) => number
reduce<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint8Array) => U, initialValue: U) => U为数组中的所有元素调用指定的回调函数。回调函数的返回值是累积结果,并作为参数提供给下一次回调函数调用。
reduceRight(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array) => number) => number为数组中的所有元素按降序调用指定的回调函数。回调函数的返回值是累积结果,并作为参数提供给下一次回调函数调用。
reduceRight<U>(callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: Uint8Array) => U, initialValue: U) => U对数组中的所有元素按降序调用指定的回调函数。回调函数的返回值是累积结果,并作为下一次调用回调函数时的参数提供。
reverse() => Uint8Array反转数组中的元素顺序。
set(array: ArrayLike<number>, offset?: number) => void设置一个值或一个值数组。
slice(start?: number, end?: number) => Uint8Array返回数组的一部分。
some(predicate: (value: number, index: number, array: Uint8Array) => unknown, thisArg?: any) => boolean判断指定的回调函数是否对数组中的任意元素返回 true。
sort(compareFn?: (a: number, b: number) => number) => this对数组进行排序。
subarray(begin?: number, end?: number) => Uint8Array获取此数组底层 ArrayBuffer 存储的一个新的 Uint8Array 视图,引用从 begin(包含)到 end(不包含)的元素。
toLocaleString() => string使用当前区域设置将数字转换为字符串。
toString() => string返回数组的字符串表示形式。
valueOf() => Uint8Array返回指定对象的原始值。
属性类型
lengthnumber

Headers

该 Fetch API 接口允许你对 HTTP 请求和响应的头部执行各种操作,包括检索、设置、添加和删除。Headers 对象具有一个关联的头部列表,该列表初始为空,包含零个或多个名称和值对。你可以使用 append() 等方法添加到此列表(参见示例)。在此接口的所有方法中,头部名称的匹配不区分大小写。

方法签名
append(name: string, value: string) => void
delete(name: string) => void
get(name: string) => string | null
has(name: string) => boolean
set(name: string, value: string) => void
forEach(callbackfn: (value: string, key: string, parent: Headers) => void, thisArg?: any) => void

类型别名

BodyInit

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

ReadableStreamDefaultReadResult

ReadableStreamDefaultReadValueResult<T> | ReadableStreamDefaultReadDoneResult

EventListenerOrEventListenerObject

EventListener | EventListenerObject

BufferSource

ArrayBufferView | ArrayBuffer

ArrayBufferLike

ArrayBufferTypes[keyof ArrayBufferTypes]

FormDataEntryValue

File | string

RequestCache

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

RequestCredentials

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

HeadersInit

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

Record

构造一个包含类型为 T 的属性集合 K 的类型

{ [P in K]: T; }

RequestMode

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

RequestRedirect

"error" | "follow" | "manual"

ReferrerPolicy

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

HttpResponseType

在将 HTTP 响应返回给客户端之前应如何解析它。

'arraybuffer' | 'blob' | 'json' | 'text' | 'document'