如何解决Nodejs、Binance API:此请求的时间戳在 recvWindow
我遇到了一个问题,API 开始给出请求的时间戳在 recvWindow 之外的错误。
首先,一些请求没问题,我得到了预期的结果,但随后我突然开始收到时间戳错误。
下面是模拟对 API 的连续请求的代码片段
//main file
const BinanceAPI = require(./BinanceAPI.js);
const binanceAPI = new BinanceAPI();
let data = {
p1: {
TradePair: 'BNBBTC',TradePairData: {
lastupdate: 1610127918784,b: '0.00102880',B: '48.80000000',a: '0.00102920',A: '2.35000000',u: 1178490919,},bid: 0,}
inArr: ['0.1000000'],outArr: [0.0024186200000000002],priceArr: ['0.0010520'],///
qtyArr: ['2.35000000'],bidArr: [0,1,0],};
async function executeTrade() {
data.calculationEndTime = new Date().getTime();
data.id = data.p1.TradePair + '_' + data.calculationEndTime;
if (data.bidArr[0] == 1) {
binanceAPI.setNewOrder(
data.p1.TradePair,data.outArr[0],data.priceArr[0],'SELL',insertResponse(id,data.p1.TradePair),id
);
} else {
binanceAPI.setNewOrder(
data.p1.TradePair,data.inArr[0],'BUY',id
);
}
}
setInterval(executeTrade,200);
我正在使用 binance-api-node 包来调用 Binance API
下面是发生请求的代码
//Binance API
class BinanceAPI {
constructor() {
this.counter = 0;
}
async setNewOrder(symbol,quantitiy,price,side,cb,id) {
let client = new Binance({
apiKey: API_KEY,apiSecret: API_SECRET,// getTime: this.getTime(this.timeOffset),});
client
.order({
symbol: symbol,side: side,quantity: quantitiy,price: price,timeInForce: 'FOK',type: 'LIMIT',})
.then(cb)
.catch(cb);
}
}
module.exports = BinanceAPI;
对于前几个请求,我得到了正确的响应,但随后出现时间戳错误,代码 -1021 开始显示。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。