我刚刚发现了 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/