我有一个循环,我想多次调用一个API,比如说500次。
API实施了速率限制,即使没有,在很短的时间内发出这么多请求也是不友好的。
所以我想减缓这个循环。怎么做呢?
结果发现这很简单,一旦你设置了一个sleep()函数,你就不需要改变。
const sleep = (milliseconds) => {
return new Promise(resolve => setTimeout(resolve, milliseconds))
}
然后你就可以调用await sleep(1000) ,在每个迭代中停止1秒,像这样。
const list = [1, 2, 3, 4]
const doSomething = async () => {
for (const item of list) {
await sleep(1000)
console.log('🦄')
}
}
doSomething()