为什么我的重置功能没有停止?

Why isn't my reset function stopping?

我的重置按钮继续清除 canvas 并清空聊天框。 return语句不应该结束函数吗?

Main.js

var reset = function() {
    context.clearRect(0,0, canvas[0].width, canvas[0].height); 
    context.beginPath();
    $('#guesses').children().empty();
    socket.emit('reset', reset);
    return;
};


$('#reset').on("click", reset);

socket.on('reset', reset);

Server.js

socket.on('reset', function(){
   socket.broadcast.emit('reset');
});

在您的 reset 函数结束时,您将发出一个 reset 事件。

socket.emit('reset', reset);

您还为发出 reset 事件设置了处理程序。

socket.on('reset', reset);

因此,每次调用 reset 时,都会发出一个事件,最终会再次调用 reset