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

标签 javascript node.js socket.io return reset

我的重置按钮继续清除 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);

服务器.js

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

最佳答案

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

socket.emit('reset', reset);

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

socket.on('reset', reset);

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

关于javascript - 为什么我的重置功能没有停止?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39799832/

相关文章:

javascript - 使用 connect-form、socket.io 和express 在 node.js 上的行为非常奇怪

javascript - NodeJS,MIME 类型 ('text/html' )不是受支持的样式表 MIME 类型

javascript - 5 星评级的前端 UI 图形机制

javascript - 如何在 IE7 中更改 DHTML 后强制重排?

javascript - 检查是否允许地理定位并获取 Lat Lon

javascript - 如何使用 NodeJS 处理依赖于另一个函数结果的函数

javascript - vue.js 模块中的数据范围

node.js - 是否有 webpack 配置来捆绑 webpack 插件?

javascript - 无法使用带有 socket.io 的媒体源从媒体记录器跳入流

javascript - 使用 node js 执行命令行