我在文件 server.js 中有一些变量(它们经常更改),我想在客户端发送请求(发出验证)时将它们传递给 client.js。该事件已发出,但客户端的 var obj 永远不会更新。如果有人告诉我返回/分配变量的正确方法是什么,我将不胜感激。
服务器.js
socket.on('validate', function (obj) {
console.log("Validate");
obj.id = 1;
});
客户端.js
var obj = {id : 0};
socket.emit('validate', [obj]);
console.log(obj.id);
控制台输出:
Validate
0 // Should be 1
最佳答案
你需要在server.js中有一个socket.emit方法,在client.js中有相应的socket.on方法,以便它们进行通信。
服务器.js
socket.on('validate', function (obj) {
console.log("Validate");
obj.id = 1;
socket.emit("validateSuccess", obj);
});
客户端.js
var obj = {id : 0};
socket.emit('validate', [obj]);
socket.on("validateSuccess", function(obj) {
console.log(obj.id);
});
关于javascript - 使用emit返回/分配变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36412323/