簡體   English   中英

方法在異步瀑布中不起作用

[英]Method not working in async.waterfall

當我使用此方法:async.waterfall之外的getItemsPrice(appid,名稱,回調,[currency])方法時,一切正常,但是當我嘗試這樣做時:

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沒有返回。

您在這里不需要異步。

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']);
}

這是疏忽嗎?

讓我知道我是否誤解了您的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM