Неверный порядок обработки данных веб-сокета - PullRequest
0 голосов
/ 11 июля 2020

Порядок вывода неверен, и иногда test_1 и test_2 не определены во время вызова console.log

const fsp = require('fs').promises
const wss = newWebSocket(some_url)

// payload sent to websocket successfully using wss.send()


// message recieved from server
wss.on('message',async function (msg){
    console.log(msg)
    var test_1 = await fsp.readFile (file,'utf-8')
    console.log(test_1)

    var test_2 = await func_1 (test_1, args)
    console.log(test_2)
});

Скорее всего, это связано с тем, что время, затрачиваемое на обработку сообщений, больше, чем время берется за передачу сервером новых сообщений. Если это поможет, я обращаюсь к Bitfinex websocket API. На основании того, что я прочитал, кажется, что хранение входящих сообщений в очереди может помочь. Однако я не знаю, как это реализовать. Я был бы признателен, если бы кто-нибудь мог объяснить решение простым и подробным образом - я новичок в работе с Javascript и все еще пытаюсь понять его асинхронный характер.

Я просмотрел несколько ответов на подобные вопросы, но чувствую, что они слишком сложны для новичка, как я.

Любая помощь будет принята с благодарностью. Я здесь совершенно ничего не понимаю

...