undefined with promise async / await

时间:2016-10-08 18:22:33

标签: javascript meteor promise async-await

在使用地图调用promise时,有人能告诉我代码有什么问题吗?我得到未定义的输出。 P.S这是针对流星的。

async function getResUrl(item, url){

  let res = await HTTP.call("GET", url, function(err, res){
    return res.statusCode;
  });
  console.log(res);
  return res;
}

function getUrlRes(_screenName) {

  let getRes = Promise.all(_.map(Object.keys(social), function(item){
    let url = social[item]+"/"+_screenName;

    getResUrl(item, url);

  })).then(function(result){
    return result
  });

return getRes;
}

1 个答案:

答案 0 :(得分:3)

假设getResUrl()返回一个承诺,请更改:

getResUrl(item, url);

return getResUrl(item, url);

您必须返回承诺,以便map()可以累积承诺。

看起来你也可能需要正确地宣传HTTP.call(),以便它返回一个承诺。