В данный момент пишу бота для стима для продажи вещей, столкнулся с не приятной особенностью, возможно самого Node JS, либо steam api. Практически в начале файла у меня созданы 2 переменные, в которые должна записыватся цена предметов, проверяю наличие записей с помощью console.log(), но он отображает записи только в том случае если console.log() находится в самой функции, хотя как я уже говорил функция должна лишь менять значение этой переменной. Приложу код:
var mannCoKey = 0;
var refined = 0;
function updatePrices() {
market.getItemPrice('440', 'Mann Co. Supply Crate Key').then(item => {
mannCoKey = item.lowest_price.substr(1)1;
refined = mannCoKey/331;
});
}
updatePrices();
console.log("Mann Co. Supply Crate Key price: " + mannCoKey);
console.log("Refined Metal price: " + refined);
Так не работает. Работает только в таком случае:
var mannCoKey = 0;
var refined = 0;
function updatePrices() {
market.getItemPrice('440', 'Mann Co. Supply Crate Key').then(item => {
mannCoKey = item.lowest_price.substr(1)1;
refined = mannCoKey/331;
console.log("Mann Co. Supply Crate Key price: " + mannCoKey);
console.log("Refined Metal price: " + refined);
});
}
updatePrices();
Такой вариант не подходит, мне же требуется, чтобы функция лишь изменяла переменные.
getItemPriceасинхронная. тебе это о чём-то говорит? – nörbörnën Aug 23 '18 at 20:29javascript Promise– nörbörnën Aug 23 '18 at 20:49