Get futures balance issue
cynologic opened this issue · 9 comments
Hello,
I am having an issue with the await. I appreciate if you could help me with this issue
I'm trying this code
let balance = await binance.futuresBalance();
console.log(balance)
it's returning an error as follows
SyntaxError: await is only valid in async functions and the top level bodies of modules
Same issue for other callback functions such
console.info( await binance.futuresAccount() );
Thank you in advance
Best regards
Actually it's relevant for all futures calls. Futures mini ticker is working like a charm undortunately other futures api call seems not working ;(
I double checked on my Binance account API management both spot and futures trading is market as enabled.
Here's the complete return on the terminal
console.info( await binance.futuresPrices() );
^^^^^
SyntaxError: missing ) after argument list
at Object.compileFunction (node:vm:360:18)
at wrapSafe (node:internal/modules/cjs/loader:1055:15)
at Module._compile (node:internal/modules/cjs/loader:1090:27)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1180:10)
at Module.load (node:internal/modules/cjs/loader:1004:32)
at Function.Module._load (node:internal/modules/cjs/loader:839:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
at node:internal/main/run_main_module:17:47
It seems something is missing for async / await. But no chance to find out it ;(
I'm trying this code
let balance = await binance.futuresBalance();
console.log(balance)
Try this one instead:
(async () => {
let balance = await binance.futuresBalance();
console.log(balance);
})()
Just a friendly advice: learn js before doing something
Thank you so much Dmitry for your quick comment. I appreciate it.
As you advised I need to study ES6 features such async.
One more quick question
I tried it but the error code is changed to
---the tried iife / code part is
(async () => {
let balance = await binance.futuresBalance();
console.log(balance);
})()
[Object: null prototype] {
code: -1021,
msg: "Timestamp for this request was 1000ms ahead of the server's time."
}
I feel like it is a problem related to troubleshooting section: https://github.com/jaggedsoft/node-binance-api#troubleshooting
try to set userServerTime
:
binance.options({
...
useServerTime: true,
...
});
or increase recvWindow
value
Dear Dmitry,
Thanks for your answer it's still returning the same error the code as follows. No chance to get the balance and price
const Binance = require('node-binance-api');
const binance = new Binance().options({
APIKEY: '--',
APISECRET: '--',
useServerTime: true,
recvWindow: 30000,
});
(async () => {
binance.useServerTime()
let balance = await binance.futuresBalance();
console.log(balance);
})()
Hello again
I fixed it syncing time of my local PC.
Hello,
I'm asking too much sorry for that
is there a way assigning to a variable instead of logging to the console
(async () => {
let balance = await binance.futuresBalance();
console.log(balance);
})()
I want to make this function as follows
let bal = (async () => {
return await binance.futuresBalance();
})()
and then use the bal variable in other expressions.
Thank you so much in advance.