CapacitorHttp
Capacitor Http API 通过修补 fetch 和 XMLHttpRequest 以使用原生库,提供原生 HTTP 支持。它还提供了在不使用 fetch 和 XMLHttpRequest 的情况下进行原生 HTTP 请求的辅助方法。该插件已捆绑在 @capacitor/core 中。
配置
默认情况下,修补 window.fetch 和 XMLHttpRequest 以使用原生库的功能是禁用的。
如果你想启用此功能,请在 capacitor.config 文件中修改以下配置。
| 属性 | 类型 | 描述 | 默认值 |
|---|---|---|---|
enabled | boolean | 启用修补 fetch 和 XMLHttpRequest 以使用原生库。 | 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 | |
返回值:
Promise<HttpResponse>
get(...)
get(options: HttpOptions) => Promise<HttpResponse>
使用原生库向服务器发起 HTTP GET 请求。
| 参数 | 类型 |
|---|---|
options | |
返回值:
Promise<HttpResponse>
post(...)
post(options: HttpOptions) => Promise<HttpResponse>
使用原生库向服务器发起 HTTP POST 请求。
| 参数 | 类型 |
|---|---|
options | |
返回值:
Promise<HttpResponse>
put(...)
put(options: HttpOptions) => Promise<HttpResponse>
使用原生库向服务器发起 HTTP PUT 请求。
| 参数 | 类型 |
|---|---|
options | |
返回值:
Promise<HttpResponse>
patch(...)
patch(options: HttpOptions) => Promise<HttpResponse>
使用原生库向服务器发起 HTTP PATCH 请求。
| 参数 | 类型 |
|---|---|
options | |
返回值:
Promise<HttpResponse>
delete(...)
delete(options: HttpOptions) => Promise<HttpResponse>
使用原生库向服务器发起 HTTP DELETE 请求。
| 参数 | 类型 |
|---|---|
options | |
返回值:
Promise<HttpResponse>
接口
HttpResponse
| 属性 | 类型 | 描述 |
|---|---|---|
data | any | 随 HTTP 响应接收到的额外数据。 |
status | number | 从 HTTP 响应接收到的状态码。 |
headers | | 从 HTTP 响应接收到的头部信息。 |
url | string | 从 HTTP 响应接收到的响应 URL。 |
HttpHeaders
HttpOptions
| 属性 | 类型 | 说明 |
|---|---|---|
url | string | 要发送请求的 URL。 |
method | string | 要使用的 HTTP 请求方法。(默认为 GET) |
params | | 要附加到请求的 URL 参数。 |
data | any | 注意:在 Android 和 iOS 上,data 只能是字符串或 JSON。FormData、Blob、ArrayBuffer 以及其他复杂类型仅在 Web 端直接支持,或者通过配置启用 CapacitorHttp 并使用修补后的 window.fetch 或 XMLHttpRequest 支持。如果需要发送复杂类型,应将数据序列化为 base64,并相应设置 headers["Content-Type"] 和 dataType 属性。 |
headers | | 随请求发送的 HTTP 请求头。 |
readTimeout | number | 等待读取额外数据的时长(以毫秒计)。每次接收到新数据时重置。 |
connectTimeout | number | 等待初始连接的时长(以毫秒计)。 |
disableRedirects | boolean | 设置是否应禁用自动 HTTP 重定向。 |
webFetchExtra | | 在 Web 端运行时为 fetch 提供的额外参数。 |
responseType | | 用于在将响应返回给请求者之前对其进行适当解析。如果响应内容类型是 "json",则忽略此值。 |
shouldEncodeUrlParams | boolean | 如果需要在某些情况下(例如 URL 已编码、Azure/Firebase 测试等)保持 URL 不编码,请使用此选项。默认值为 true。 |
HttpParams
RequestInit
| 属性 | 类型 | 描述 |
|---|---|---|
body | | 一个 BodyInit 对象或 null,用于设置请求体。 |
cache | | 一个字符串,指示请求将如何与浏览器缓存交互,用于设置请求的缓存模式。 |
credentials | | 一个字符串,指示是否以及何时发送凭据(始终发送、从不发送,或仅在同源 URL 时发送)。设置请求的凭据模式。 |
headers | | 一个 Headers 对象、对象字面量或由二元数组组成的数组,用于设置请求头。 |
integrity | string | 要请求资源的加密哈希值,用于设置请求的完整性属性。 |
keepalive | boolean | 一个布尔值,设置请求的 keepalive 属性。 |
method | string | 一个字符串,设置请求的方法。 |
mode | | 一个字符串,指示请求是否使用 CORS,或是否仅限于同源 URL。设置请求的模式。 |
redirect | | 一个字符串,指示请求如何处理重定向(跟随重定向、在遇到重定向时报错,或以不透明方式返回重定向)。设置请求的重定向模式。 |
referrer | string | 一个字符串,其值为同源 URL、"about:client" 或空字符串,用于设置请求的引用来源。 |
referrerPolicy | | 一个引用来源策略,用于设置请求的 referrerPolicy。 |
signal | | 一个 AbortSignal 对象,用于设置请求的信号。 |
window | any | 只能为 null。用于将请求与任何 Window 对象解除关联。 |
Blob
一个表示不可变原始数据的类文件对象。Blob 表示的数据不一定是 JavaScript 原生格式。File 接口基于 Blob,继承了 Blob 的功能并扩展以支持用户系统上的文件。
Blob 类是 require('node:buffer').Blob 的全局引用
https://nodejs.org/api/buffer.html#class-blob
| 属性 | 类型 |
|---|---|
size | number |
type | string |
| 方法 | 签名 |
|---|---|
| arrayBuffer | () => Promise<ArrayBuffer> |
| slice | (start?: number, end?: number, contentType?: string) => Blob |
| stream | () => ReadableStream |
| text | () => Promise<string> |
ArrayBuffer
表示一个原始的二进制数据缓冲区,用于存储不同类型化数组的数据。ArrayBuffer 不能直接读写,但可以传递给类型化数组或 DataView 对象,以便按需解释原始缓冲区。
| 属性 | 类型 | 描述 |
|---|---|---|
byteLength | number | 只读属性。ArrayBuffer 的长度(以字节为单位)。 |
| 方法 | 签名 | 描述 |
|---|---|---|
| slice | (begin: number, end?: number) => ArrayBuffer | 返回 ArrayBuffer 的一个切片。 |
ReadableStream(可读流)
此 Streams API 接口表示一个字节数据的可读流。Fetch API 通过 Response 对象的 body 属性提供了 ReadableStream 的具体实例。
| 属性 | 类型 |
|---|---|
locked | boolean |
| 方法 | 签名 |
|---|---|
| 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(可读流默认读取值结果)
| 属性 | 类型 |
|---|---|
done | false |
value | T |
ReadableStreamDefaultReadDoneResult(可读流默认读取完成 结果)
| 属性 | 类型 |
|---|---|
done | true |
value |
ReadableWritablePair(可读可写对)
| 属性 | 类型 | 描述 |
|---|---|---|
readable | | |
writable | | 提供了一种便捷、可链式调用的方式,将此可读流通过转换流(或任何其他 { 可写, 可读 } 对)进行管道传输。它简单地将流管道传输到所提供对的可写端,并返回可读端以供进一步使用。管道传输流将在传输期间锁定该流,防止任何其他消费者获取读取器。 |
WritableStream(可写流)
此 Streams API 接口为将流数据写入目标(称为接收器)提供了一个标准抽象。该对象内置了背压和队列机制。
| 属性 | 类型 |
|---|---|
locked | boolean |
| 方法 | 签名 |
|---|---|
| abort | (reason?: any) => Promise<void> |
| getWriter | () => WritableStreamDefaultWriter<W> |
WritableStreamDefaultWriter(可写流默认写入器)
此 Streams API 接口是由 WritableStream.getWriter() 返回的对象,一旦创建,它会将写入器锁定到 WritableStream,确保没有其他流可以写入底层接收器。
| 属性 | 类型 |
|---|---|
closed | Promise<undefined> |
desiredSize | number |
ready | Promise<undefined> |
| 方法 | 签名 |
|---|---|
| abort | (reason?: any) => Promise<void> |
| close | () => Promise<void> |
| releaseLock | () => void |
| write | (chunk: W) => Promise<void> |
StreamPipeOptions
| 属性 | 类型 | 说明 |
|---|---|---|
preventAbort | boolean | |
preventClose | boolean | 将此可读流通过管道传输到指定的可写流目标。管道传输过程在各种错误情况下的行为,可以通过传入的多个选项进行自定义。该方法返回一个 Promise,当管道传输成功完成时兑现,如果遇到任何错误则拒绝。流在管道传输期间会被锁定,阻止其他消费者获取读取器。源流和目标流的错误及关闭情况传播规则如下:此源可读流中的错误会中断目标流,除非 preventAbort 为真值。返回的 Promise 将因源错误或中断目标流过程中发生的任何错误而被拒绝。目标流中的错误会取消此源可读流,除非 preventCancel 为真值。返回的 Promise 将因目标错误或取消源流过程中发生的任何错误而被拒绝。当此源可读流关闭时,目标流也会被关闭,除非 preventClose 为真值。返回的 Promise 将在此过程完成后兑现,除非在关闭目标流时遇到错误,此时将因该错误而被拒绝。如果目标流初始时就处于关闭或正在关闭状态,此源可读流将被取消,除非 preventCancel 为 true。返回的 Promise 将因"管道传输到已关闭流失败"的错误或取消源流过程中发生的任何错误而被拒绝。signal 选项可设置为 AbortSignal,以允许通过相应的 AbortController 中止正在进行的管道操作。在这种情况下,此源可读流将被取消,目标流将被中断,除非设置了相应的 preventCancel 或 preventAbort 选项。 |
signal | |
AbortSignal
一个信号对象,允许你与 DOM 请求(例如 Fetch)进行通信,并在需要时通过 AbortController 对象中止该请求。
| 属性 | 类型 | 描述 |
|---|---|---|
aborted | boolean | 如果此 AbortSignal 的 AbortController 已发出中止信号,则返回 true,否则返回 false。 |
onabort | | |
| ----------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| addEventListener | <K extends "abort">(type: K, listener: (this: AbortSignal, ev: AbortSignalEventMap[K]) => any, options?: boolean | AddEventListenerOptions) => void | 为事件类型属性值为 type 的事件添加一个事件监听器。callback 参数设置当事件被派发时将被调用的回调函数。options 参数设置监听器特定的选项。为了兼容性,此参数可以是一个布尔值,此时该方法的行为完全等同于将值指定为 options 的 capture 属性。当设置为 true 时,options 的 capture 属性会阻止 callback 在事件的 eventPhase 属性值为 BUBBLING_PHASE 时被调用。当为 false(或未提供)时,callback 在事件的 eventPhase 属性值为 CAPTURING_PHASE 时不会被调用。无论哪种情况,如果事件的 eventPhase 属性值为 AT_TARGET,callback 都将被调用。当设置为 true 时,options 的 passive 属性表示回调函数不会通过调用 preventDefault() 来取消事件。这用于启用 § 2.8 观察事件监听器中描述的性能优化。当设置为 true 时,options 的 once 属性表示回调函数只会被调用一次,之后事件监听器将被移除。该事件监听器会被添加到目标的监听器列表中,但如果已存在具有相同 type、callback 和 capture 的监听器,则不会重复添加。 |
| addEventListener | (type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions) => void | 为事件类型属性值为 type 的事件添加一个事件监听器。callback 参数设置当事件被派发时将被调用的回调函数。options 参数设置监听器特定的选项。为了兼容性,此参数可以是一个布尔值,此时该方法的行为完全等同于将值指定为 options 的 capture 属性。当设置为 true 时,options 的 capture 属性会阻止 callback 在事件的 eventPhase 属性值为 BUBBLING_PHASE 时被调用。当为 false(或未提供)时,callback 在事件的 eventPhase 属性值为 CAPTURING_PHASE 时不会被调用。无论哪种情况,如果事件的 eventPhase 属性值为 AT_TARGET,callback 都将被调用。当设置为 true 时,options 的 passive 属性表示回调函数不会通过调用 preventDefault() 来取消事件。这用于启用 § 2.8 观察事件监听器中描述的性能优化。当设置为 true 时,options 的 once 属性表示回调函数只会被调用一次,之后事件监听器将被移除。该事件监听器会被添加到目标的监听器列表中,但如果已存在具有相同 type、callback 和 capture 的监听器,则不会重复添加。 |
| removeEventListener | <K extends "abort">(type: K, listener: (this: AbortSignal, ev: AbortSignalEventMap[K]) => any, options?: boolean | EventListenerOptions) => void | 从目标的事件监听器列表中移除具有相同 type、callback 和 options 的事件监听器。 |
AbortSignalEventMap
| 属性 | 类型 |
|---|---|
"abort" | |
事件
发生在 DOM 中的事件。
| 属性 | 类型 | 描述 |
|---|---|---|
bubbles | boolean | 根据事件的初始化方式返回 true 或 false。如果事件会沿着其目标的祖先节点进行反向树序传播则为 true,否则为 false。 |
cancelBubble | boolean | |
cancelable | boolean | 根据事件的初始化方式返回 true 或 false。其返回值并不总是具有实际意义,但 true 可以表示在事件派发过程中,可以通过调用 preventDefault() 方法来取消部分操作。 |
composed | boolean | 根据事件的初始化方式返回 true 或 false。如果事件会触发其目标所在 ShadowRoot 节点之外的监听器则为 true,否则为 false。 |
currentTarget | | 返回当前正在调用其事件监听器回调的对象。 |
defaultPrevented | boolean | 如果 preventDefault() 方法已成功调用以表示取消操作,则返回 true,否则返回 false。 |
eventPhase | number | 返回事件当前所处的阶段,取值为 NONE、CAPTURING_PHASE、AT_TARGET 和 BUBBLING_PHASE 之一。 |
isTrusted | boolean | 如果事件是由用户代理(浏览器)派发的,则返回 true,否则返回 false。 |
returnValue | boolean | |
srcElement | | |
target | | 返回事件被派发到的对象(即其目标)。 |
timeStamp | number | 返回事件的时间戳,以相对于时间原点的毫秒数表示。 |
type | string | 返回事件的类型,例如 "click"、"hashchange" 或 "submit"。 |
AT_TARGET | number | |
BUBBLING_PHASE | number | |
CAPTURING_PHASE | number | |
NONE | number | |
| ---------------------------- | ------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| composedPath | () => EventTarget[] | 返回事件路径上的调用目标对象(监听器将被调用的对象),不包括影子树中模式为"closed"且无法从事件当前目标访问的任何节点。 |
| initEvent | (type: string, bubbles?: boolean, cancelable?: boolean) => void | |
| preventDefault | () => void | 当 cancelable 属性值为 true 且在事件监听器执行期间(passive 设置为 false 时)调用,会向触发事件的操作发出需要取消的信号。 |
| stopImmediatePropagation | () => void | 调用此方法可阻止事件在当前监听器运行完成后到达任何已注册的事件监听器,并且在树状结构中分发时,还能阻止事件到达任何其他对象。 |
| stopPropagation | () => void | 在树状结构中分发时,调用此方法可阻止事件到达除当前对象之外的任何其他对象。 |
EventTarget
EventTarget 是一个 DOM 接口,由能够接收事件并可能拥有事件监听器的对象实现。
| 方法 | 签名 | 描述 |
|---|---|---|
| addEventListener | (type: string, listener: EventListenerOrEventListenerObject | null, options?: boolean | AddEventListenerOptions) => void | 为事件类型属性值为 type 的事件追加一个事件监听器。callback 参数设置当事件被派发时将调用的回调函数。options 参数设置监听器特定的选项。为了兼容性,该参数也可以是一个布尔值,此时方法的行为与将值指定为 options 的 capture 属性完全相同。当设置为 true 时,options 的 capture 属性会阻止回调函数在事件的 eventPhase 属性值为 BUBBLING_PHASE 时被调用。当为 false (或不提供) 时,回调函数不会在事件的 eventPhase 属性值为 CAPTURING_PHASE 时被调用。无论哪种情况,如果事件的 eventPhase 属性值是 AT_TARGET,回调函数都会被调用。当设置为 true 时,options 的 passive 属性表示回调函数不会通过调用 preventDefault() 来取消事件。这用于启用 §2.8 观察事件监听器中描述的性能优化。当设置为 true 时,options 的 once 属性表示回调函数只会被调用一次,之后事件监听器将被移除。该事件监听器会被追加到目标的监听器列表中;如果存在类型、回调和捕获选项都相同的监听器,则不会被重复追加。 |
| 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
| 属性 | 类型 |
|---|---|
once | boolean |
passive | boolean |
EventListenerOptions
| 属性 | 类型 |
|---|---|
capture | boolean |
ArrayBufferView
| 属性 | 类型 | 描述 |
|---|---|---|
buffer | | 数组引用的 ArrayBuffer 实例。 |
byteLength | number | 数组的字节长度。 |
byteOffset | number | 数组的字节偏移量。 |
ArrayBufferTypes
用于 ArrayBufferView 及相关类型数组缓存的允许的 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 访问其内容。
| 属性 | 类型 |
|---|---|
lastModified | number |
name | string |
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 | 对每个查询参数执行指定回调。 |
Uint8Array
一种 8 位无符号整数值的类型化数组。数组内容初始化为 0。如果无法分配请求的字节数,则会抛出异常。
| 属性 | 类型 | 说明 |
|---|---|---|
BYTES_PER_ELEMENT | number | 数组中每个元素的大小(以字节为单位)。 |
buffer | | 数组引用的 ArrayBuffer 实例。 |
byteLength | number | 数组的长度(以字节为单位)。 |
byteOffset | number | 数组的偏移量(以字节为单位)。 |
length | number | 数组的长度。 |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 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 | 返回指定对象的原始值。 |
ArrayLike
| 属性 | 类型 |
|---|---|
length | number |
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'