UNPKG

@ni-web-infra/common-utils

Version:
40 lines (39 loc) 2.08 kB
export type Cancelable = { cancel: () => void; }; export type Callback<T> = (error: Error | null | undefined, result: T | null | undefined) => void; interface Headers { [key: string]: string; } export type RequestParameters = { url: string; headers?: Headers; method?: "GET" | "POST" | "PUT"; body?: string; type?: "string" | "json" | "arrayBuffer"; credentials?: "same-origin" | "include"; collectResourceTiming?: boolean; referrerPolicy?: ReferrerPolicy; }; export type ResponseCallback<T> = (error?: Error | null | undefined, data?: T | null | undefined, cacheControl?: string | null | undefined, expires?: string | null | undefined) => void; /** * 请求函数 * @function ajax * * @param {RequestParameters} requestParameters 请求参数 * @param {string} requestParameters.url 要请求的URL。 * @param {Object} requestParameters.headers 要与请求一起发送的标头。 * @param {string} requestParameters.method 请求方法“GET”|“POST”|“PUT”。 * @param {string} requestParameters.body 请求正文。 * @param {string} requestParameters.type 要返回的响应主体类型为“string”、“json”、“arrayBuffer”。 * @param {string} requestParameters.credentials `'same-origin'|'include'` 使用”include“发送带有跨源请求的 cookie。 * @param {boolean} requestParameters.collectResourceTiming 如果为true,将为这些转换后的请求收集 Resource Timing API 信息,并在相关数据事件的resourceTiming属性中返回。 * @param {string} requestParameters.referrerPolicy 表示请求的referrerPolicy的字符串。有关更多信息和可能的值,请参阅[Referrer Policy HTTP头页](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy). * @param {Callback} callback 回调函数 * @returns {Cancelable} { cancel: () => { ... } } * * @example * ajax({url: 'data.json', type: "json", method: "GET"}, (res) => {}) */ export declare function ajax(requestParameters: RequestParameters, callback: Callback<any>): Cancelable; export {};