gpt4 book ai didi

javascript - websockets ws.on 和 ws.onmessage 之间的区别

转载 作者:太空宇宙 更新时间:2023-11-03 22:24:57 30 4
gpt4 key购买 nike

我正在 javascript 中使用 websockets 连接到 API 并读取一些数据。

这是代码:

function processHUOBIAPI(client,exchange_name,exchange_wss,exchange_symbol)
{
// Define constants
const WebSocket = require('ws');
const pako = require('pako');

// Open connection once one is established
var wss = new WebSocket(exchange_wss);

wss.onopen = () =>
{
// Send request to subscribe
var symbol = exchange_symbol.toLowerCase()
wss.send(JSON.stringify(
{
"sub": "market." + symbol + ".kline.1min",
"id": symbol
}
));
};

// Parse channel information and send to Redis
wss.onmessage = (data) =>
{
//typedef data;
console.log("Receive message", data);
let text = pako.inflate(data, {
to: 'string'
});
mssg = JSON.parse(text);
if (mssg.ping) {
wss.send(JSON.stringify({
pong: mssg.ping
}));
} else if (mssg.tick) {
console.log(mssg);
//handle(msg);
} else {
console.log(text);
}
}

在这种情况下我收到错误:

..../node_modules/pako/lib/inflate.js:384 if (inflator.err) { 抛出 inflator.msg ||消息[充气机.错误]; } ^未知的压缩方式

如果我将 "wss.onmessage = (data) =>" 更改为 "wss.on ('message', (data) => {" 并删除额外的“)”代码完美运行。

wss.on 和 wss.onmessage 之间有什么区别?

新手,非常感谢任何指导。如果这是一个愚蠢的事情,请提前道歉......

最佳答案

图书馆WSWebSocket API 的包装器所以“onmessage”在这里不起作用。

关于javascript - websockets ws.on 和 ws.onmessage 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48044294/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com