UNPKG

we-req

Version:

weReq是基于微信小程序的 wx.request的高级封装,提供全局和外部拦截器的管理,支持自动登录等功能,旨在简化微信小程序网络请求的处理流程,提升开发者的使用体验。

39 lines (32 loc) 811 B
export interface fulfilled<T = any> { (val: T): T | Promise<T> } export interface Rejected { (error: any): any } interface Interceptor<T> { fulfilled?: fulfilled<T> rejected?: Rejected } export default class InterceptorManager<T> { private readonly interceptors: Array<Interceptor<T> | null> constructor() { this.interceptors = [] } use(fulfilled?: fulfilled<T>, rejected?: Rejected): number { this.interceptors.push({ fulfilled, rejected }) return this.interceptors.length - 1 } forEach(fn: (interceptor: Interceptor<T>) => void): void { this.interceptors.forEach((interceptor) => { if (interceptor !== null) { fn(interceptor) } }) } eject(id: number): void { if (this.interceptors[id]) { this.interceptors[id] = null } } }