我正在向 API 发送多个请求,例如“myapi/id”。我的 id 范围可以是 [0..10000]。因为一次发送所有 id 非常昂贵,所以我想发送 slice 等待它被获取然后发送下一个 slice。
这是我正在使用的代码:
async function getSlice(data) {
let promises = []
data.map((key) => {
promises.push(fetch("myapi/"+key)
.then(res => res.json())
.then((result) => console.log(result))) //I want to store the result in an array
}
await Promise.all(promises)
}
function getAll(data) {
for(let i=0; i<= data.length; i+=10) {
getSlice(data.slice(i,i+10));
//I want to wait for the previous slice to complete before requesting for the next slice
}
}
getAll(ids)
但是,请求是异步发送的/没有等待发生。我想知道我的代码中是否有错误/是否有任何方法可以使用 for 循环发送多个请求并等待它们完成,然后再发送下一个请求。
缥缈止盈
弑天下
相关分类