请求函数包含请求函数正确写法

 store.sourcematerialtableData = [];
 store.sourcematerialtableData2 = [];

 const { data } = await ApiService.get(RESOURCE, `files?uuid=${UUID}&access_token=${ACCESS_TOKEN}&page=1`);
 if (data.data.next_page_url != null) {
   const regex = /page=(\d+)/;
   const match = data.data.next_page_url.match(regex);
   const endIndex = parseInt(match[1]);

   for (let index = 1; index <= endIndex; index++) {
     await findmaterial2(index);
   }
 }
}

async function findmaterial2(page) {
 const { data } = await ApiService.get(RESOURCE, `files?uuid=${UUID}&access_token=${ACCESS_TOKEN}&page=${page}`);
 
 const newData = data.data.data.map(obj => {
   const { id, tags, name } = obj;
   const newObj: User = {
     id,
     label: [],
     name,
   };

   if (obj.tags.length !== 0) {
     const str = tags[0].name;
     newObj.label = str.split(",");
   }

   return newObj;
 });

 store.sourcematerialtableData.push(...newData);
 store.sourcematerialtableData2.push(...data.data.data);
}

主要犯错
1.在 findmaterial 函数中,你使用了一个循环来请求多个页面的数据。然而,这个循环中的每个请求都是异步的,并且没有等待每个请求的完成,因此无法保证数据的顺序和完整性。你可以考虑使用 async/await 来改善这个问题,以确保每个请求都完成后再进行下一步操作。
2.在两个请求中,你使用了字符串拼接来构建 URL。这种方式容易出错,并且不够直观。你可以考虑使用 URL 参数的方式来构建 URL,以更清晰和可维护的方式处理 URL 参数。

posted @ 2023-05-26 11:18  yjxQWQ  阅读(10)  评论(0)    收藏  举报