Javascript异步回调和forEach

时间:2016-03-09 22:30:29

标签: javascript httprequest

我的问题的简化版本:

var request = require('request');

var myJSONObject;
request.get(largeEndpointThatOnlyHasIDs, {authstuff}, function (err, response, body) {
    if (!err && response.statusCode = 200) {
        JSON.parse(body).forEach(function(item) {
            getItemData(item.item_id, function(result) {
                myJSONObject['itemData'] = result;
            });
        });
    }
});

getItemData(id, callback) {
    request(itemAPIEndpoint, function(err, response, body) {
        if (!err && response.statusCode = 200) {
            callback(JSON.parse(body));
        }
    });
}
好吧,那样的作品。我可以在回调中使用console.log(myJSONObject),并且看到它一次填充一个。基本上我只是无法弄清楚如何等待整个forEach完成,myJSONObject被填充并且我可以将它用于其他事情。

对不起,我不确定我是否能很好地解释我的意思。如果没有,请告诉我,我会尝试澄清一点。

0 个答案:

没有答案