方法不在async.waterfall中工作

时间:2016-02-14 21:18:55

标签: javascript node.js

当我使用它时: getItemsPrice(appid,名称,回调,[货币])方法在async.waterfall之外,一切正常但是当我尝试这样做时:

async.waterfall([
                function(callback) {
                    var w = inventory.map(function (e) { //parametr e przekazuje pojedynczy element tablicy
                        return e.market_hash_name;
                    });
                    callback(null, w);
                },
                function(w, callback) {

                    market.getItemsPrice(730, w, function(data) {

                        for(var i in names) {
                            console.log(names[i] + ' median price: ' + data[names[i]]['median_price']);
                        }
                        callback(null, 'three');
                    });

                },

            ], function (err, result) {

            });

在第二个回调数组中,W有数据,但是market.ItemsPrice没有返回。

1 个答案:

答案 0 :(得分:0)

这里不需要异步。

var w = inventory.map(function (e) { return e.market_hash_name; });
market.getItemsPrice(730, w, function(data) { 
 // DO SOMETHING HERE
});

1.inventory.map不是异步函数。(或者是吗?)。

2.market.getItemsPrice是我在这里看到的唯一异步函数。所以只需在调用Array.map方法后调用它,你应该没问题。

3.在market.getItemsPrice(730, w, function(data) ....我看到你传递'w'代表'名字',但在你的例子中,你通过'名字'来代替。

for(var i in names) {
   console.log(names[i] + ' median price: ' + data[names[i]]['median_price']);
}

这是疏忽吗?

如果我误解了你的问题,请告诉我。