NodeJS 等待循环完成(async / await / promise)
- 论坛
- NodeJS 等待循环完成(async / await / promise)
6 浏览
NodeJS 等待循环完成(async / await / promise)
我正在尝试创建一个循环来获取API中的一些信息,首先我需要这个循环等待请求完成,然后继续下一个数组值,循环完成后,我需要每隔5秒再次调用该函数,但只能在前一次调用结束后才能调用。
类似于这样:
let ids = [1, 2]; async function getInfoAPI(ids) { for (const id of ids){ const apiInfo = await fetch(`https://apiurl/${id}`); const infoJSON = await apiInfo.json(); //在这里执行更多操作 } }
现在我需要调用函数并等待循环完成。循环完成后,等待5秒钟,然后再次调用getInfoFromAPI
函数。我尝试了setInterval
,但如果由于某种原因循环花费超过5秒的时间来响应,即使上一个循环尚未完成,getInfoFromAPI
也会被再次调用。
setInterval(function(){ getInfoAPI(ids); }, 5000);
是否有办法可以使用promises或类似的方法来实现这一点?