在使用地图调用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;
}
答案 0 :(得分:3)
假设getResUrl()
返回一个承诺,请更改:
getResUrl(item, url);
到
return getResUrl(item, url);
您必须返回承诺,以便map()
可以累积承诺。
看起来你也可能需要正确地宣传HTTP.call()
,以便它返回一个承诺。