Response
Response用于封装MNConnection.fetchDev系列方法的响应结果,提供状态字段、头管理和正文解析方法。
new Response(data?: NSData|null,init?: { status?: number statusText?: string headers?: Headers|Array<[string,string]>|Record<string,string> type?: string url?: string redirected?: boolean error?: string})构造一个新的Response实例。
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
data | NSData|null | 否 | 响应体数据。传null表示空响应体。 |
init | object | 否 | 响应元信息配置。 |
类成员(Class members)
Section titled “类成员(Class members)”无。
redirect
Section titled “redirect”static redirect(url: string,status?: number): Response创建一个重定向响应对象,仅允许301、302、303、307、308状态码。
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
url | string | 是 | 重定向目标地址。 |
status | number | 否 | 重定向状态码,默认302。 |
- 类型:
Response - 语义:返回新的重定向响应对象。
static error(): Response创建一个错误响应对象,状态码固定为0,type固定为error。
无。
- 类型:
Response - 语义:返回错误响应对象。
static new(res: NSHTTPURLResponse,data: NSData,err: NSError,url?: string): Response把原生网络回调参数封装为Response对象。
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
res | NSHTTPURLResponse | 是 | 原生响应对象。 |
data | NSData | 是 | 原始响应体。 |
err | NSError | 是 | 原生错误对象。 |
url | string | 否 | 请求URL。 |
- 类型:
Response - 语义:返回封装后的响应对象。
实例成员(Instance members)
Section titled “实例成员(Instance members)”hasJSONResult
Section titled “hasJSONResult”get hasJSONResult(): boolean判断当前响应体是否可解析为非空JSON对象。
- 类型:
boolean - 语义:可解析且非空时返回
true。
copy(): void把asJSONObject()结果复制到剪贴板,便于调试查看。
无。
- 类型:
void - 语义:无返回值。
asJSONObject
Section titled “asJSONObject”asJSONObject(): { status: number statusText: string statusCodeDescription: string headers: Headers type: string url: string error?: string text?: string|Promise<string> json?: any bodySize?: number}|undefined将当前响应转为便于展示和记录的结构化对象。
无。
- 类型:
object|undefined - 语义:成功时返回结构化对象,异常时返回
undefined。
_parseBody
Section titled “_parseBody”_parseBody(body: Uint8Array|string|FormData|null): Uint8Array|null将不同输入体归一化为Uint8Array。
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
body | Uint8Array|string|FormData|null | 是 | 待转换的输入体。 |
- 类型:
Uint8Array|null - 语义:可解析时返回字节数组,否则返回
null。
_setBodyUsed
Section titled “_setBodyUsed”_setBodyUsed(): void内部标记方法。当前实现中该方法提前返回,不会真正改变_bodyUsed。
无。
- 类型:
void - 语义:无返回值。
arrayBuffer
Section titled “arrayBuffer”arrayBuffer(): Promise<ArrayBuffer>将响应体转换为ArrayBuffer。
无。
- 类型:
Promise<ArrayBuffer> - 语义:返回异步数组缓冲区结果。
blob(): Promise<Blob>将响应体转换为Blob,并携带content-type头中的MIME类型。
无。
- 类型:
Promise<Blob> - 语义:返回异步Blob结果。
json(): any将响应体解析为JSON对象。解析失败时返回SyntaxError对象。
无。
- 类型:
any - 语义:通常为JSON对象,失败时为错误对象。
text(): string|Promise<string>将响应体转换为字符串。无响应体时返回空字符串Promise。
无。
- 类型:
string|Promise<string> - 语义:返回文本结果或其Promise。
formData
Section titled “formData”formData(): Promise<FormData>把application/x-www-form-urlencoded形式文本解析为FormData。
无。
- 类型:
Promise<FormData> - 语义:返回异步FormData结果。
clone(): Response克隆当前响应对象。若响应体已被消费会抛出TypeError。
无。
- 类型:
Response - 语义:返回克隆后的新响应对象。