NodeJS 变量范围、函数和回调
NodeJS variable scope, functions and callbacks
我有这样的代码:
var express = require('express');
var router = express.Router();
const Binance = require('node-binance-api');
const binance = new Binance().options({
APIKEY: 'APIKEY',
APISECRET: 'APISECRET',
useServerTime: true
});
r = [];
binance.balance((error, balances) => {
if ( error ) return console.error(error);
r = balances;
});
router.get('/', function(req, res, next) {
res.render("index", {page: 'home', user: req.thisUser, balances: r});
});
module.exports = router;
我如何获取并传递余额以获取参数中的请求?
结果耗时很长return.
谢谢大家
所以我还没有测试过这段代码,我以前从未使用过这个 Binance API 包装器,但我想这应该 work/is 你要问的。
我已经将该调用包装在一个承诺中,这样当你到达路线时它会等到对 Binance 的调用完成,并且它会 return 如果有一个错误或你的余额,在 node-binance-api
的文档中说明如下:
{ BTC: { available: '0.77206464', onOrder: '0.00177975' },
LTC: { available: '0.00000000', onOrder: '0.00000000' },
ETH: { available: '1.14109900', onOrder: '0.00000000' },
BNC: { available: '0.00000000', onOrder: '0.00000000' } }
const express = require('express')
const Binance = require('node-binance-api')
const router = express.Router()
const binance = new Binance().options({
APIKEY: 'APIKEY',
APISECRET: 'APISECRET',
useServerTime: true,
})
const getBalances = () => {
return new Promise((resolve, reject) => {
binance.balance((error, balances) => {
if (error) return reject(error)
return resolve(balances)
})
})
}
router.get('/', async (req, res) => {
const balances = await getBalances()
res.render('index', { page: 'home', user: req.thisUser, balances })
})
module.exports = router
我有这样的代码:
var express = require('express');
var router = express.Router();
const Binance = require('node-binance-api');
const binance = new Binance().options({
APIKEY: 'APIKEY',
APISECRET: 'APISECRET',
useServerTime: true
});
r = [];
binance.balance((error, balances) => {
if ( error ) return console.error(error);
r = balances;
});
router.get('/', function(req, res, next) {
res.render("index", {page: 'home', user: req.thisUser, balances: r});
});
module.exports = router;
我如何获取并传递余额以获取参数中的请求? 结果耗时很长return.
谢谢大家
所以我还没有测试过这段代码,我以前从未使用过这个 Binance API 包装器,但我想这应该 work/is 你要问的。
我已经将该调用包装在一个承诺中,这样当你到达路线时它会等到对 Binance 的调用完成,并且它会 return 如果有一个错误或你的余额,在 node-binance-api
的文档中说明如下:
{ BTC: { available: '0.77206464', onOrder: '0.00177975' },
LTC: { available: '0.00000000', onOrder: '0.00000000' },
ETH: { available: '1.14109900', onOrder: '0.00000000' },
BNC: { available: '0.00000000', onOrder: '0.00000000' } }
const express = require('express')
const Binance = require('node-binance-api')
const router = express.Router()
const binance = new Binance().options({
APIKEY: 'APIKEY',
APISECRET: 'APISECRET',
useServerTime: true,
})
const getBalances = () => {
return new Promise((resolve, reject) => {
binance.balance((error, balances) => {
if (error) return reject(error)
return resolve(balances)
})
})
}
router.get('/', async (req, res) => {
const balances = await getBalances()
res.render('index', { page: 'home', user: req.thisUser, balances })
})
module.exports = router