背景:
做进度条回显,比如获取三页的数据,但是循环获取分页数据的时候,有可能是先拿到第二页,再拿到第一页数据,这样排序获得的数据顺序就不对。
代码:
//循环获得的分页 页码数据
for (let index = 0; index < boxStatus.pageIndex; index++) {
pageIndex.value = index + 1;
// console.log('pageIndex', pageIndex.value);
positionPageIndexArr.value.push(pageIndex.value)
}
//获取每次分页请求的数据
const getAllValue=async()=>{
//每一个页码的请求
const itemPromise = positionPageIndexArr.value.map(i => {
let pageParams = { user_id: curUser.objectId, page_size: pageSize.value, page_index: i };
return new Promise((resolve, reject) => {
request.post(`${nftShopApi}/blind_box/info`, pageParams).then(res => resolve(res)).catch(err => reject(err))
})
})
//所有请求的集合
const itemGroup = await Promise.all(itemPromise)
//拿到所有数据的操作
if(itemGroup){//操作}
}