Javascript 如何使for循环等待异步函数

Javascript 如何使for循环等待异步函数,javascript,node.js,asynchronous,Javascript,Node.js,Asynchronous,我正在向predicthq API发出请求 app.get(“/test”,(请求、回复)=>{ //[0]是经度 请求。获取(“https://api.predicthq.com/v1/events/?q=Minnesota&limit=10", { 标题 },(错误,数据)=>{ var results=JSON.parse(data.body).results; var serverRes=[]; 对于(结果中的var i){ getGeo(结果[i]。位置[1],结果[i]。位置[0]

我正在向predicthq API发出请求

app.get(“/test”,(请求、回复)=>{
//[0]是经度
请求。获取(“https://api.predicthq.com/v1/events/?q=Minnesota&limit=10", {
标题
},(错误,数据)=>{
var results=JSON.parse(data.body).results;
var serverRes=[];
对于(结果中的var i){
getGeo(结果[i]。位置[1],结果[i]。位置[0])。然后(v=>{
serverRes[i]=v;
})
}//for循环结束
res.send(serverRes)
});//请求调用结束
}); //通话结束
//异步函数
函数getGeo(横向、纵向){
返回新承诺(解决=>{
反向地理编码器({
拉特:拉特,
朗:长
},函数(err,res){
解决(res)
});
});
}
$(文档).ready(函数(){
$(“按钮”)。在(“单击”,()=>{
控制台日志(“点击按钮”);
$.get(“/test”,函数(数据、状态){
console.log(“数据”,数据)
});
});//单击按钮的结尾

});
使用
for
循环将这些承诺放入一个数组,然后使用
Promise.all
等待它们解析

var results = JSON.parse(data.body).results;
var geoPromises = [];

for (var i in results) {
  var promise = getGeo(results[i].location[1],   results[i].location[0]);
  geoPromises.push(promise);
}

Promise.all(geoPromises).then(vs => {
  res.send(vs);
});

使用
for
循环将这些承诺放入数组,然后使用
Promise.all
等待它们解析

var results = JSON.parse(data.body).results;
var geoPromises = [];

for (var i in results) {
  var promise = getGeo(results[i].location[1],   results[i].location[0]);
  geoPromises.push(promise);
}

Promise.all(geoPromises).then(vs => {
  res.send(vs);
});
你试过了吗?看着它,我想这对你来说是可行的

$(文档).ready(函数(){

}))

你试过了吗?看着它,我想这对你来说是可行的

$(文档).ready(函数(){

}))