如何在节点js中同步循环运行

How to run for in loop synchrously in node js

我正在 运行ning 一个 for in 循环并在 for in loop.So 中调用一个 REST API 假设 userArray 包含 5 个用户,然后 API 被调用一次, 问好五个 times.So 如何 运行 API 在节点 js

中调用内部循环 5 次
for(user in userArray){
   var result=apiddetails.getuserdetails(user);
   console.log(result);
   console.log("hello"); 
}

您可以尝试使用 async-await

for(user in userArray){
   var result = (async function(){
      return await apiddetails.getuserdetails(user);
   })(user); //pass user as the argument
   console.log(result);
   console.log("hello"); 
}

这是使用 promises 的解决方案。

var promises = [];
for(user in userArray){
   var promises.push[apiddetails.getuserdetails(user)]; //asumming you are returning promise from this function 
}
Promise.all(promises).then(function(values) {
console.log(values);
});