跳到主要内容
版本:v6

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 请求示例。注意:data
// 可以作为原始 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

属性类型描述
urlstring要发送请求的 URL。
methodstring要执行的 HTTP 请求方法。(默认为 GET)
params
HttpParams
要追加到请求的 URL 参数。
dataany注意:在 Android 和 iOS 上,data 只能是字符串或 JSON。FormData、BlobArrayBuffer 和其他复杂类型仅在 Web 上直接支持,或通过在配置中启用 CapacitorHttp 并使用修补后的 window.fetchXMLHttpRequest 来支持。如果您需要发送复杂类型,应将数据序列化为 base64 并相应设置 headers["Content-Type"]dataType 属性。
headers
HttpHeaders
随请求发送的 HTTP 请求标头。
readTimeoutnumber等待读取额外数据的时间(毫秒)。每次收到新数据时重置。
connectTimeoutnumber等待初始连接的时间(毫秒)。
disableRedirectsboolean设置是否禁用自动 HTTP 重定向。
webFetchExtra
RequestInit
在 Web 上运行时,fetch 的额外参数。
responseType
HttpResponseType
用于在返回给请求者之前适当解析响应。如果响应 content-type 是 "json",则忽略此值。
shouldEncodeUrlParamsboolean在某些情况下,如果您需要保持 URL 不编码(已编码、azure/firebase 测试等),请使用此选项。默认值为 true。
dataType'file' | 'formData'如果我们需要将数据从需要在原生层特殊处理的 JS 类型转换过来时使用。

HttpParams

RequestInit

属性类型描述
body
BodyInit
BodyInit 对象或 null,用于设置请求的 body。
cache
RequestCache
指示请求如何与浏览器缓存交互的字符串,用于设置请求的 cache。
credentials
RequestCredentials
指示是否始终、从不或仅在同源 URL 时发送凭据的字符串。设置请求的 credentials。
headers
HeadersInit
Headers 对象、对象字面量或二元数组的数组,用于设置请求的 headers。
integritystring要获取的资源的加密哈希值。设置请求的 integrity。
keepaliveboolean设置请求的 keepalive 的布尔值。
methodstring设置请求方法的字符串。
mode
RequestMode
指示请求是否使用 CORS,或限制为同源 URL 的字符串。设置请求的 mode。
redirect
RequestRedirect
指示请求是否遵循重定向、遇到重定向时产生错误、或返回重定向的字符串。设置请求的 redirect。
referrerstring值为同源 URL、"about:client" 或空字符串,设置请求的 referrer。
referrerPolicy
ReferrerPolicy
设置请求的 referrerPolicy 的引用者策略。
signal
AbortSignal
设置请求的 signal 的 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 的一部分。

ReadableStream

此 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>
提供了一种方便的、可链式调用的方式,将此可读流通过转换流(或任何其他 { writable, readable } 对)进行管道传输。它简单地将流管道传输到提供的对的可写端,并返回可读端以供进一步使用。管道传输流将在传输期间锁定它,防止任何其他消费者获取读取器。

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>

StreamPipeOptions

属性类型描述
preventAbortboolean
preventCancelboolean
preventCloseboolean将此可读流管道传输到给定的可写流目标。管道传输过程中的各种错误条件下的行为可以通过多个传递选项进行自定义。它返回一个 promise,当管道传输过程成功完成时 fulfilled,如果遇到任何错误则 rejected。管道传输流将在传输期间锁定它,防止任何其他消费者获取读取器。源流和目标流的错误和关闭按如下方式传播:此源可读流中的错误将中止目标流,除非 preventAbort 为 truthy。返回的 promise 将以源错误或中止目标流时发生的任何错误被 rejected。目标流中的错误将取消此源可读流,除非 preventCancel 为 truthy。返回的 promise 将以目标错误或取消源时发生的任何错误被 rejected。当此源可读流关闭时,目标流将被关闭,除非 preventClose 为 truthy。返回的 promise 将在此过程完成后 fulfilled,除非在关闭目标流时遇到错误,在这种情况下将以该错误被 rejected。如果目标流开始时就已关闭或正在关闭,此源可读流将被取消,除非 preventCancel 为 true。返回的 promise 将以指示管道传输到已关闭流失败的错误被 rejected,或取消源时发生的任何错误。signal 选项可以设置为 AbortSignal,以允许通过相应的 AbortController 中止正在进行的管道操作。在这种情况下,此源可读流将被取消,目标流将被中止,除非相应的 preventCancel 或 preventAbort 选项被设置。
signal
AbortSignal

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 参数设置监听器特定的选项。为兼容性,这可以是一个布尔值,在这种情况下方法的行为与将值指定为 options 的 capture 完全相同。当设置为 true 时,options 的 capture 阻止 callback 在事件的 eventPhase 属性值为 BUBBLING_PHASE 时被调用。当为 false(或不存在)时,callback 不会在事件 eventPhase 属性值为 CAPTURING_PHASE 时被调用。无论哪种方式,如果事件的 eventPhase 属性值为 AT_TARGET,callback 都将被调用。当设置为 true 时,options 的 passive 指示 callback 不会通过调用 preventDefault() 来取消事件。这用于启用 § 2.8 观察事件监听器中描述的性能优化。当设置为 true 时,options 的 once 指示 callback 只会被调用一次,之后事件监听器将被移除。事件监听器被追加到目标的 event listener list,如果它具有相同的 type、callback 和 capture,则不会被追加。
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions) => void为类型属性值为 type 的事件追加事件监听器。
removeEventListener<K extends "abort">(type: K, listener: (this: AbortSignal, ev: AbortSignalEventMap[K]) => any, options?: boolean | EventListenerOptions) => void移除目标 event listener list 中具有相同 type、callback 和 options 的事件监听器。
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions) => void移除目标 event listener list 中具有相同 type、callback 和 options 的事件监听器。

AbortSignalEventMap

属性类型
"abort"
Event

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")且从事件的 currentTarget 不可达的节点。
initEvent(type: string, bubbles?: boolean, cancelable?: boolean) => void
preventDefault() => void如果在 cancelable 属性值为 true 时调用,并且在执行 passive 设置为 false 的事件监听器时,向导致事件分派的操作发出信号,表明需要取消它。
stopImmediatePropagation() => void调用此方法可防止事件在当前监听器完成运行后到达任何已注册的事件监听器,并且在树中分派时,还防止事件到达任何其他对象。
stopPropagation() => void在树中分派时,调用此方法可防止事件到达当前对象以外的任何对象。

EventTarget

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

方法签名描述
addEventListener(type: string, listener: EventListenerOrEventListenerObject | null, 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 指示 callback 不会通过调用 preventDefault() 来取消事件。这用于启用 § 2.8 观察事件监听器中描述的性能优化。当设置为 true 时,options 的 once 指示 callback 只会被调用一次,之后事件监听器将被移除。事件监听器被追加到目标的 event listener list,如果它具有相同的 type、callback 和 capture,则不会被追加。
dispatchEvent(event: Event) => boolean向目标分派一个合成事件 event,如果事件的 cancelable 属性值为 false 或其 preventDefault() 方法未被调用,则返回 true,否则返回 false。
removeEventListener(type: string, callback: EventListenerOrEventListenerObject | null, options?: EventListenerOptions | boolean) => void移除目标 event listener list 中具有相同 type、callback 和 options 的事件监听器。

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

Uint8Array

8 位无符号整数值的类型化数组。内容初始化为 0。 如果无法分配请求的字节数,将引发异常。

属性类型描述
BYTES_PER_ELEMENTnumber数组中每个元素的大小(以字节为单位)。
buffer
ArrayBufferLike
数组引用的 ArrayBuffer 实例。
byteLengthnumber数组的长度(以字节为单位)。
byteOffsetnumber数组的字节偏移量。
lengthnumber数组的长度。
方法签名描述
copyWithin(target: number, start: number, end?: number) => this返回将此对象通过将 start 和 end 标识的数组部分复制到同一数组中位置 target 后得到的对象。
every(predicate: (value: number, index: number, array: Uint8Array) => unknown, thisArg?: any) => boolean确定数组的所有成员是否满足指定测试。
fill(value: number, start?: number, end?: number) => this通过用值填充 start 和 end 标识的部分来返回此对象。
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返回数组中 predicate 为 true 的第一个元素的值,否则返回 undefined。
findIndex(predicate: (value: number, index: number, obj: Uint8Array) => boolean, thisArg?: any) => number返回数组中 predicate 为 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(callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: Uint8Array) => number, initialValue: 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

属性类型
lengthnumber

Headers

此 Fetch API 接口允许您对 HTTP 请求和响应标头执行各种操作。这些操作包括获取、设置、添加和删除。Headers 对象有一个关联的 header list,初始为空,由零个或多个名称和值对组成。您可以使用 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

Construct a type with a set of properties K of type T

{ [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'