/** * @file 小程序环境发送 HTTP 请求(类 Web Fetch 接口) * @desc 适合简单的、请求体 & 响应体基于文本的接口调用 */ import Headers, { HeadersInit } from './headers'; export type Request = { url: string; method?: 'OPTIONS' | 'GET' | 'HEAD' | 'POST' | 'PUT' | 'DELETE' | 'TRACE' | 'CONNECT'; headers?: Headers; body?: string; }; /** 请求的性能信息 */ export type Profile = { /** 同 https://developer.mozilla.org/en-US/docs/Web/API/PerformanceResourceTiming/fetchStart */ fetchStart: number; /** 同 https://developer.mozilla.org/en-US/docs/Web/API/PerformanceResourceTiming/connectStart */ connectStart?: number; /** 同 https://developer.mozilla.org/en-US/docs/Web/API/PerformanceResourceTiming/connectEnd */ connectEnd?: number; /** 同 https://developer.mozilla.org/en-US/docs/Web/API/PerformanceResourceTiming/responseEnd */ responseEnd: number; }; export type ResponseInit = { status: number; headers: Headers; _profile?: Profile; }; export declare class Response { private _body; get ok(): boolean; status: number; get statusText(): string; headers: Headers; /** [私货] 本次请求的性能相关信息;注意:这个信息可能没有,比如在微信开发者工具中运行时 */ _profile?: Profile; constructor(_body: string, init: ResponseInit); json(): Promise; } export { Headers }; export type { HeadersInit }; export type Fetch = (request: Request) => Promise; export declare function fetch(request: Request): Promise;