UNPKG

press-ui

Version:

简单、易用的跨端组件库,兼容 Vue2 和 Vue3,同时支持 uni-app和普通 Vue 项目

34 lines (25 loc) 819 B
let handleList = []; // 请求列表 export function filterSameRequest({ url, reqData, handle, }) { const sameHandle = handleList.find(item => item.url === url && JSON.stringify(item.reqData) === JSON.stringify(reqData)); if (sameHandle) { // 遇到相同请求直接返回之前请求的promise console.log('存在重复请求,直接返回'); return sameHandle.handle; } console.log('不存在重复请求'); const promise = handle(); // const finallyCb = promise.finally; promise.finally(() => { // finallyCb(); console.log('[filterSameRequest] finally'); handleList = handleList.filter(item => item.url !== url && JSON.stringify(item.reqData) !== JSON.stringify(reqData)); }); handleList.push({ url, reqData, handle: promise }); return promise; }