#javascript #function #api #callback #binance
Вопрос:
У меня есть 2 разных кода для получения данных: первый-получить по балансовому счету, второй-получить текущую стоимость монеты, мне нужно рассчитать количество монет, которые я могу купить с помощью баланса (Баланс*стоимость монеты = количество).
Я перепробовал много вариантов, чтобы получить значение вне функции, но безуспешно.
первый код: (получить баланс)
binance.balance((error, balances) => {
if ( error ) return console.error(error);
console.info("BTT balance: ", balances.BTT.available);
});
Второй код (получите номинал монеты)
binance.prices('BTTUSDT',(error, ticker)=>{
console.info("Hello:: ", ticker.BTTUSDT);
});
Ответ №1:
Погрузитесь в ад обратного вызова:
binance.balance((error, balances) => {
if ( error ) return console.error(error);
console.info("BTT balance: ", balances.BTT.available);
binance.prices('BTTUSDT',(error, ticker)=>{
if ( error ) return console.error(error);
// Balance*coin
});
});
Или используйте Обещания:
const getBalance = () => new Promise((resolve, reject) => {
binance.balance((error, balances) => {
if(error) {
reject(error);
return;
}
resolve(balances.BTT.available);
});
const getCoins = () => new Promise((resolve, reject) => {
binance.prices('BTTUSDT', (error, ticker) => {
if(error) {
reject(error);
return;
}
resolve(ticker.BTTUSDT);
});
(async () => {
const balance = await getBalance();
const coins = await getCoins();
console.info(balance * coins);
})();
Комментарии:
1. Большое вам спасибо за быстрый ответ, он мне очень помог.
2. @ygalbrami Хорошая практика-давать полезные ответы. Также, если есть ответ, который решил вашу проблему, пожалуйста, отметьте его как принятый ответ.