Comments (6)
Investigation: We can make use of our own error.code
which will be ENOENT
or ENOTFOUND
in this case!
Small workaround:
const Binance = require('binance-api-node').default
const dotenv = require('dotenv')
process.on('unhandledRejection', error => {
console.error('Catched Binance error', error)
process.exit(1)
})
if (!process.env.BINANCE_API_KEY) dotenv.load()
const client = Binance({
apiKey: process.env.BINANCE_API_KEY,
apiSecret: process.env.BINANCE_API_SECRET,
})
async function getOrder() {
try {
const order = await client.getOrder({symbol: 'TRXETH', orderId: 20123533})
console.log(`order (${Date.now()})`, order)
} catch (error) {
if (['ENOENT', 'ENOTFOUND'].includes(error.code)) {
console.log('Waiting for internet to come back...')
} else {
throw error
}
} finally {
setTimeout(getOrder, 2000)
}
}
getOrder()
I tested this workaround for some time but sometimes I still receive the following error:
Error: Timestamp for this request is outside of the recvWindow.
@balthazar: Do you have any idea how we can tackle the recvWindow
error?
from binance-api-node.
This second error is most likely due to your computer having an out-of-sync clock, maybe you should try updating it.
As for how to handle this case maybe we should catch the ENOENT
and ENOTFOUND
and throw a more meaningful error that we could include in our error map. The try catch approach seems like the preferred solution anyway, but we need to catch these connectivity errors of websockets too.
from binance-api-node.
The Timestamp for this request is outside of the recvWindow
often happens, when I go offline and go back online. I think it's related to this. Can it be that the request gets cached and is too old, when I come back online?
from binance-api-node.
I am also getting Timestamp for this request is outside of the recvWindow
any idea why?
from binance-api-node.
@bennyn Most likely it if it doesn't error out before the connection goes back on
from binance-api-node.
I will close the issue here because we now export ErrorCodes and based on them the using application can retrigger certain API calls.
@jsappme The "Timestamp for this request is outside of the recvWindow" issue will be tackled in this issue: #80 - Please also try to use the useServerTime property, it might already fix your issue. 😃
from binance-api-node.
Related Issues (20)
- how to send pong in browser ?
- Add changelog HOT 3
- I
- Dust Transfer typings missing HOT 1
- Partial depth not working
- How do you get the current position info for future account? HOT 1
- Reconnecting-websocket options not working? HOT 1
- TypeError: fetch failed HOT 1
- fix about node:fetch? HOT 1
- Module "crypto" has been externalized for browser compatibility HOT 2
- DeprecationWarning: crypto.DEFAULT_ENCODING is deprecated.
- TypeError: Binance is not a function HOT 2
- futuresCancelBatchOrders lacks return-type annotation HOT 3
- Different data
- Opening an order with TP/SL HOT 5
- quantity parameter on Trailling Stop futuresOrder
- Incorrect data type of batchOrders in futuresBatchOrders
- futuresCancelBatchOrders return type error
- Websocket was closed before the connection was estabilshed with binance-api-node ticker and futuresticker
- Error: Invalid API-key, IP, or permissions for action. HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from binance-api-node.