Битфайнекс API веб-сокет книга заказов - PullRequest
0 голосов
/ 27 апреля 2019

Я пытаюсь получить книгу заказов через веб-носки bitfacex bitfex, но получаю сообщение об ошибке в консоли.Ошибка в консоли: невозможно прочитать свойство '0' из неопределенного в строке if (bidsKeys [i]) {

var ws = new WebSocket("wss://api-pub.bitfinex.com/ws/2");


ws.onopen = function() {
    // ws.send(JSON.stringify({ event: 'conf', flags: 131072 }))
    let msg = JSON.stringify({
        event: 'subscribe',
        channel: 'book',
        pair: 'tBTCUSD',
        freq: 'F1',
        len: '25',
        prec: 'P0'
    })
    ws.send(msg)


    ws.onmessage = function(msg) {
        const BOOK = {}
        BOOK.bids = {}
        BOOK.asks = {}
        BOOK.psnap = {}
        BOOK.mcnt = 0
        msg = JSON.parse(msg.data)
        //  var response = JSON.parse(msg.data);   
        //  console.log(msg.data);
        const csdata = []
        const bidsKeys = BOOK.psnap['bids']
        const asksKeys = BOOK.psnap['asks']

        for (let i = 0; i < 25; i++) {
            if (bidsKeys[i]) {
                const price = bidsKeys[i]
                const pp = BOOK.bids[price]
                csdata.push(pp.price, pp.amount)
            }
            if (asksKeys[i]) {
                const price = asksKeys[i]
                const pp = BOOK.asks[price]
                csdata.push(pp.price, -pp.amount)
            }
        }

        const csStr = csdata.join(':')
        const csCalc = CRC.str(csStr)

        if (csCalc !== checksum) {
            console.error('CHECKSUM_FAILED')
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...