import request1 from "@/utils/request1"; async function fetchAllData(total, pageNo1, pageSize, url, data) { try { // 如果总条数小于等于每页条数,直接返回第一页数据 if (Number(total) <= Number(pageSize)) { return []; } // 2. 计算需要请求的总页数 const totalPages = Math.ceil(Number(total) / 50); // 3. 循环请求剩余页数的数据(从第2页开始) const fetchPromises = []; for (let pageNo = pageNo1; pageNo <= totalPages; pageNo++) { fetchPromises.push( // fetch(`/api/data?pageNo=${pageNo}&pageSize=50`) // .then(res => { // if (!res.ok) { // throw new Error(`第${pageNo}页请求失败: ${res.status}`); // } // return res.json(); // }) // .then(data => data.list) request1({ url: url, method: "post", data: { ...data, pageNo: pageNo, pageSize: pageSize } }) ); } // 4. 等待所有请求完成,合并数据 const remainingData = await Promise.all(fetchPromises); return [ ...remainingData.flat()] } catch (error) { console.error("获取数据失败:", error); throw error; // 抛出错误供调用者处理 } } export default fetchAllData;