Получаю цену предметов в Steam. Предметпока один. Код примерно такой
console.log("Call result: " + checkPrice(items));
function checkPrice(items) {
var price = 0;
items.forEach(function(item, index, array) {
market.getItemsPrice(730, item.market_hash_name, function(data) {
price = price + parseFloat(data[item.market_hash_name].lowest_price.replace("$",""));
console.log("Function result: " + price);
});
});
return price;
}
Результат (порядок вывода сохранен):
Call result: 0
Function result: 0.06
Пробовал уже return засовывать в foreach, тогда Call result будет undefined. Такое впечатление, что функция checkPrice вообще не дожидается окончания выполнения foreach. На каком этапе я ступил?
UPD:
Items есть. Содержание такое:
[ { appid: 730,
classid: '310776773',
instanceid: '302028390',
currency: false,
background_color: '',
icon_url: '-9a81dlWLwJ2UUGcVs_nsVtzdOEdtWwKGZZLQHTxDZ7I56KU0Zwwo4NUX4oFJZEHL
bXH5ApeO4YmlhxYQknCRvCo04DEVlxkKgpot6-iFBRw7P7NYjV96tOkkZOfqPH9Ib7um25V4dB8xLuVo
IqkiVHtrkFoMGjzdoSWdwY6aFvX_Vfow-_mhJS5vs_IwHRhuyk8pSGK2gnD2Gc',
icon_url_large: '-9a81dlWLwJ2UUGcVs_nsVtzdOEdtWwKGZZLQHTxDZ7I56KU0Zwwo4NUX4o
FJZEHLbXH5ApeO4YmlhxYQknCRvCo04DEVlxkKgpot6-iFBRw7P7NYjV96tOkkZOfqPH9Ib7um25V4dB
8teXA54vwxgbg_hVtMjz6cYSRIQc-M1rT_1G6yO3ogpDqvpzAyHBmuHIj7HnfnhypwUYb6FJ3cHs',
descriptions: [ [Object], [Object], [Object], [Object], [Object], [Object] ]
,
tradable: true,
actions: [ [Object] ],
name: 'AUG | Condemned',
name_color: 'D2D2D2',
type: 'Industrial Grade Rifle',
market_name: 'AUG | Condemned (Field-Tested)',
market_hash_name: 'AUG | Condemned (Field-Tested)',
market_actions: [ [Object] ],
commodity: false,
market_tradable_restriction: 7 } ]