节点.js和 socket.io 计时器重置

Node.js and socket.io timer reset

本文关键字:计时器 io socket js 节点      更新时间:2023-09-26

嗨伙计们,当我的计时器变为 10 时,如何将计时器重置为 0 秒 下面是我的代码。在我的当前代码中会发生什么,当我在连接中声明时,它不会重新启动到零。

app.js :

countdown = 10;
var onInterval = function() {
    countdown--;
    if(countdown == 0){
        var endTime = currTimer();
        clearInterval(myInterval);
  io.sockets.emit('timer', { timer: countdown });
};
var myInterval = setInterval(onInterval, 1000);
io.sockets.on('connection', function (socket){
    socket.on('restart timer', function (data) {
         setTimeout(function(){
            countdown = 10;
            myInterval = setInterval(onInterval, 1000);
        }
    }
}

这就是你所需要的。我不知道你为什么需要那个设置超时。

io.sockets.on('connection', function (socket){
    socket.on('restart timer', function (data) {
        countdown = 10;
        myInterval = setInterval(onInterval, 1000);
    }
}