我有一個循環,在該循環中我想要調用一個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()