Javascript socket.io中的倒计时不会同时开始
我正在使用emit方法在我的android应用程序上开始倒计时 我的问题是,球员和对手的倒计时并不是同时开始的。我的游戏将播放一首随机歌曲,并给第一个猜对的玩家打分 我听说这取决于他们的潜伏期。我找不到任何解决办法Javascript socket.io中的倒计时不会同时开始,javascript,node.js,socket.io,emit,Javascript,Node.js,Socket.io,Emit,我正在使用emit方法在我的android应用程序上开始倒计时 我的问题是,球员和对手的倒计时并不是同时开始的。我的游戏将播放一首随机歌曲,并给第一个猜对的玩家打分 我听说这取决于他们的潜伏期。我找不到任何解决办法 var countdown = 3; var countdownInterval = setInterval(function () { socket.emit('countdown', countdown); // to player socket.broadcas
var countdown = 3;
var countdownInterval = setInterval(function () {
socket.emit('countdown', countdown); // to player
socket.broadcast.to(opponent).emit('countdown', countdown); // to opponent
if (countdown == 0) {
clearInterval(countdownInterval);
}
countdown--;
}, 1000);
当客户端确认接收到消息时,您可能希望得到回调(在您的情况下,减少计数器变量) 为此,只需将函数作为
.send
或.emit
的最后一个参数传递即可。使用.emit
时,确认由您完成,这意味着您也可以传递数据:
var countdown = 3;
var countdownInterval = setInterval(function () {
socket.emit('countdown', countdown, function(){
if (countdown == 0) clearInterval(countdownInterval);
countdown--;
socket.broadcast.to(opponent).emit('countdown', countdown); // to opponent
}); // to player
}, 1000);