diff --git a/packages/fes-plugin-request/src/template/request.js b/packages/fes-plugin-request/src/template/request.js index cebde7ee..572dbe24 100644 --- a/packages/fes-plugin-request/src/template/request.js +++ b/packages/fes-plugin-request/src/template/request.js @@ -18,15 +18,23 @@ function getRequestInstance() { // 不能立马初始化,用户配置可能还没准备好 let currentRequest; -export function rawRequest(url, data, options = {}) { +function _rawRequest(url, data, options = {}) { if (!currentRequest) { currentRequest = getRequestInstance(); - // 将 request 实例上的属性挂在到 rawRequest 上。 - Object.assign(rawRequest, currentRequest); } return currentRequest(url, data, options); } +// 代理 request 上的属性 +export const rawRequest = new Proxy(_rawRequest, { + get(_, key) { + if (!currentRequest) { + currentRequest = getRequestInstance(); + } + return currentRequest[key]; + }, +}); + export async function request(url, data, options = {}) { const response = await rawRequest(url, data, options); return response.data;