2016-10-08 7 views
0

マップで約束を呼び出すときに、コードに何が間違っているか教えてもらえますか?私は未定義の出力を得る。 P.これは流星のためのものです。 getResUrl()リターンの約束を想定しpromise async/awaitで定義されていません

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; 
} 
+2

組み込みの '.map()'の代わりに '_.map()'を使う理由は? – jfriend00

+6

'getResUrl' ...' getUrlRes'あなたは失読症を苦しめることを楽しんでいます。 –

+4

'HTTP.call'は約束を返します、コールバックを持っているように見えますが、それから戻ってきますか? – adeneo

答えて

2

、この変更:あなたはとてもmap()は約束を蓄積することができる約束を返す必要が

return getResUrl(item, url); 

getResUrl(item, url); 

を。

約束を返すように、HTTP.call()を適切に宣言する必要があるようです。

関連する問題