React 在循环中发送多个请求并等待。

9 浏览
0 Comments

React 在循环中发送多个请求并等待。

我正在向一个名为"myapi/id"的API发送多个请求。我的id范围可能在[0..10000]之间。因为一次发送所有id非常耗费资源,所以我希望分片发送请求,并等待它们被获取后再发送下一批请求。

这是我使用的代码:

async function getSlice(data) {
    let promises = []
    data.map((key) => {
        promises.push(fetch("myapi/"+key)
        .then(res => res.json())
        .then((result) => console.log(result))) //我希望将结果存储在一个数组中
    }
    await Promise.all(promises)
} 
function getAll(data) {
    for(let i=0; i<= data.length; i+=10) {
        getSlice(data.slice(i,i+10));
        //在请求下一批之前,我希望等待前一批完成
    }
}
getAll(ids)

然而,请求是异步发送的/没有等待发生。我想知道我的代码是否有错误/是否有任何方法可以使用for循环发送多个请求,并在发送下一个请求之前等待它们完成。

0