gpt4 book ai didi

javascript - 多个请求与 for 循环和每个请求之间的超时

转载 作者:行者123 更新时间:2023-11-30 11:12:37 29 4
gpt4 key购买 nike

我有一个函数可以多次触发请求,但需要在每次请求之间添加延迟,这样我就不会向服务器发送垃圾邮件:

async function multiReq(iterationNr){

for (let i=0; i++; iterationNr ) {
//send request here
res.push(resultOfTheRequest);
}
return res;
};
console.log(multiReq(10));

我应该在哪里超时,以便我有例如请求 1,等待 1 秒,请求 2,等待 1 秒直到完成,然后返回 res 数组?

最佳答案

一个选择是 await 一个 Promise,它会在您需要添加延迟时在 1 秒后解析:

const delay = ms => new Promise(resolve => setTimeout(resolve, ms));
async function multiReq(iterationNr){
const res = [];
for (let i=0; i < iterationNr; i++) {
// If you don't need to wait for the response to come back yet, remove the await:
const result = await makeRequest();
await delay(1000);
res.push(result);
}
return res;
}

另请注意,for 循环的第二个是条件,第三个是增量器,而不是相反,并且该函数 block } 结束后不能有分号。

关于javascript - 多个请求与 for 循环和每个请求之间的超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53026219/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com