/** * umi-request 的 进度 中间件 * @remarks * umi-request 不支持上传 和 下载 的进度事件,通过 本中间件,可让 umi-request 支持 上传 与 下载的进度事件 * * @packageDocumentation */ import { OnionMiddleware } from 'umi-request'; /** * 进度事件的回调函数 */ export declare type ProgressHandler = (this: XMLHttpRequest, ev: ProgressEvent) => any; /** * 扩展 * @public */ declare module 'umi-request' { /** * 扩展 umi-request 的请求选项 RequestOptionsInit * @public */ interface RequestOptionsInit { /** * 上传进度事件的回调函数 */ onReqProgress?: ProgressHandler | null; /** * 下载进度事件的回调函数 */ onResProgress?: ProgressHandler | null; } } /** * umi-request 的 进度 中间件 * @remarks * 支持 上传进度 和 下载进度。此中间件是内核中间件事,注册时最好使用选项 `{ core: true }`。 * * @example * ```ts * // 导入 umi-request * import request from 'umi-request'; * // umi-request-progress * import progressMiddleware from 'umi-request-progress'; * * // 注册内核中间件 * request.use(progressMiddleware, { core: true }); * * // 上传文件 * request("/file/upload",{ * ...otherOptions, * //上传进度事件的回调函数 * onReqProgress:function( ev: ProgressEvent){ * console.log(ev) * }, * //下载进度事件的回调函数 * onResProgress:function( ev: ProgressEvent){ * console.log(ev) * }, * }); * ``` * */ declare const progressMiddleware: OnionMiddleware; export default progressMiddleware;