Я пытаюсь запросить значение с сервера через socketjs.
Вот client.js
function onClick({clientX, clientY}) {
console.log("====== #click: "+clickNo);
clickNo++;
var srcWidth, srcHeight, mouseClickX, mouseClickY;
console.log("onmouseEnter: "+clientX +", "+clientY)
mouseClickX = clientX;
mouseClickY = clientY;
socket.emit('screenSize');
socket.on('resolution', function (data) {
srcWidth = data.srcWidth;
srcHeight = data.srcHeight;
console.log("resolution: "+srcWidth +', '+srcHeight);
console.log("mouseClick= "+mouseClickX +', '+mouseClickY)
//moveMouseToPos(mouseClickX, mouseClickY);
});
}
и в Server.js
socket.on('screenSize', ()=>{console.log("screenSize Req")
socket.emit('resolution',{
srcWidth: robot.getScreenSize().width,
srcHeight: robot.getScreenSize().height
});
});
Я могу получить значение с сервера, но проблема в том, что я получаю такжестарое значение.вот console.log
====== #click: 0
onmouseEnter: 882, 143
resolution: 1366, 768
mouseClick= 882, 143
====== #click: 1
onmouseEnter: 919, 352
resolution: 1366, 768
mouseClick= 882, 143
resolution: 1366, 768
mouseClick= 919, 352
====== #click: 2
onmouseEnter: 772, 452
resolution: 1366, 768
mouseClick= 882, 143
resolution: 1366, 768
mouseClick= 919, 352
resolution: 1366, 768
mouseClick= 772, 452
====== #click: 3
onmouseEnter: 447, 389
resolution: 1366, 768
mouseClick= 882, 143
resolution: 1366, 768
mouseClick= 919, 352
resolution: 1366, 768
mouseClick= 772, 452
resolution: 1366, 768
mouseClick= 447, 389
Вы можете видеть, что при первом щелчке клиент получает идеальное значение, но при втором щелчке - его печать два раза, при третьем щелчке - его печать 3 раза.Похоже, эта функция вызывается три раза с предыдущими параметрами.
Любая идея?