我从 Node.js 开始。我想在每小时开始时向客户端发送一些数据。
var d = new Date();
var a=d.getDate();
var h = d.getHours();
if(h<10){
h="0"+h;
}
if(d<10){
d="0"+d;
}
time=a+""+h;
//Message from redis
rClient.on("message", function(channel, message) {
var vals=message.split("#");
if(vals[1]!=time){
var msg="sending reset";
console.log(msg);
client.emit('hreset',msg);
time=vals[1];
}
}
客户端内部
socket.on('hreset', function(val) {
alert(val);
reset();
alert("reseting Data completed");
});
但是它没有触发客户端中的代码。如果我将条件从 !=
更改为 ==
它工作正常并每秒触发。但在 !=
的情况下不起作用。它进入 if 条件但不发出 hreset
。
最佳答案
您可以使用setInterval:
var obj = setInterval(yourFunc, 3600000); // 60*60*1000 ms
var yourFunc = function() {
client.emit("message", data);
};
关于node.js - Socket.io Client.emit 在 if 循环内不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29795519/