我有一个JSON对象数组。我想遍历数组,并为每个对象检查一些参数,如果某些条件为真,请使用Air-table模块请求创建记录。
由于速率限制,我想限制我发出这些请求的速度,本质上是依次调用这些函数,并在它们之间实现延迟。
许诺总是让我感到困惑。如何对数组进行迭代以实现承诺。我可以使用Async Await做到这一点吗?我知道有些承诺库(例如Bluebird)既有延迟功能又有并发功能,但是我对如何正确使用它们感到困惑。
答案 0 :(得分:0)
如果要同步遍历数组,可以使用for ... of
构造:
async function doSomethingWithArray(array, delayTime) {
for (const item of array) {
await someMethod(item);
await delay(delayTime);
}
}
最简单的延迟功能是:
function delay(delayTime) {
return new Promise(resolve => setTimeout(resolve, delayTime));
}