node.js - 比较两个 websocket 的实时数据

标签 node.js websocket

我刚刚发现了 websockets 和 Node js,但试图弄清楚如何执行以下操作。我想比较两个不同 websocket 的值。

const WebSocket = require('ws');

const ws = new WebSocket('wss://1');
const w = new WebSocket('wss://2')

ws.on('message', function incoming(data) {

  var myval1= JSON.parse(data);


});

w.on('message', function incoming(data) {

  var myval2= JSON.parse(data);


});

var whatIwant =  myval1 - myval2;

我如何继续比较 myva1 和 myval2?

我尝试将第二个消息调用放在第一个消息调用中,但每次调用第一个消息时它都会开始循环,并在调用几次消息后中断。

最佳答案

虽然 ZeekHuge 是正确的,我们需要记住范围 - 我们还必须考虑 websockets 的异步性质 - 我们只能在收到消息后进行比较。每次收到消息时都可以调用辅助方法来比较值。

const WebSocket = require('ws');

const ws = new WebSocket('wss://1');
const w = new WebSocket('wss://2')

let myval1;
let myval2;

function compareValues(a, b) {
  // Do some kind of comparison here.
  if (a === b) {
    // Do a thing.
  };
}

ws.on('message', function incoming(data) {
  myval1= JSON.parse(data);
  compareValues(myval1, myval2);
});

w.on('message', function incoming(data) {
  myval2= JSON.parse(data);
  compareValues(myval1, myval2);
});

关于node.js - 比较两个 websocket 的实时数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52665795/

相关文章:

javascript - Node.JS执行git命令错误: Permission denied (publickey)

node.js - Next js 生产构建是否需要服务器中的 node_modules 文件夹?

node.js - 如何将 Nunjucks addfilter 函数放在 app.js 以外的 Express.js 文件中?

node.js - DynamoDB - 扫描不返回所有项目

node.js - 在 Node.js 和 CentOS 中使用 pdf2image

android - Android 上的 WebSockets 和 Android 上的 socket.io

javascript websocket 客户端

javascript - 无法连接到 API : Should I use websocket or something else?

reactjs - WebSocket SocketIO 连接无法与 Heroku 上的 NestJS 服务器一起使用,并且无法在 Vercel 上响应客户端

go - 当我导航到其他页面时发送 WebSocket 错误关闭