当我使用它时: 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没有返回。
答案 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']);
}
这是疏忽吗?
如果我误解了你的问题,请告诉我。