从 Socket.io 通知运行代码
Running code from Socket.io notification
我正在运行一个 NodeJS 服务器,当somebody
执行something
时,例如,当客户端从网格中删除一行时,Socket.io 通知其余客户端一行被删除。
在该示例中,我可以向 socket.io 消息添加类似 actionType: rowdeleted
的内容,然后只检测客户端上的actionType
并刷新网格。无论如何,问题是可以有无限数量的操作(并且可以添加新操作),因此我无法在客户端为每个操作类型编写函数。
然后我想也许我可以通过 socket.io 发送一些代码并让客户端运行它,但我不确定这是否是做我想做的事的最佳方式。另外,客户端将如何运行该代码?通过eval
?
我愿意接受任何建议:)
您是否考虑过类似的东西,但不是 eval。 显然,您必须拥有在某处执行的代码,无论是在服务器端。 为什么不创建一种方法来让客户端知道要获取和执行它的脚本/代码/操作。
出于类似的需要,我使用了类似的东西。 操作类型引用了服务器上特定路径中的脚本 (/js/actions/ACTION.js)。 在获取运行操作的命令后,客户端将检查它是否有该操作,如果没有,它将获取该操作。之后,它将在脚本上运行该操作。 RequireJS对这种事情有好处。 它将跟踪您有哪些操作,哪些操作没有。 它还将确保在运行某些需要它的函数之前获取操作(如果它没有它)。
eval
is evil (c)
所以我无法在客户端为每个操作类型编写一个函数。
如果不会在客户端上处理事件,则从服务器发出事件是没有意义的
为服务器发出的每种类型的事件设置客户端句柄功能。否则绑定所有事件并处理
- AJAX调用运行C代码的最佳实践
- 在经过一段时间或满足条件后运行代码
- 在Firefox restartless插件中,当一个新窗口打开时,我如何运行代码(监听窗口打开)
- 如果调试器关闭,Internet Explorer将出现运行代码问题
- JQuery 帖子未在 PHP 文件中运行代码
- 当ajax请求发生时运行代码的Chrome扩展
- 当我运行代码时,我得到以下结果 []对象对象] [对象对象],但应该给我一个有序数组
- 仅当客户端连接到Meteor服务器时才运行代码
- 在.each()循环中的ajax完成后,Jquery运行代码
- node.js和Cygein,我该如何运行代码
- 未访问全局变量,未运行代码
- Meteor - 在客户端上的异步回调的 for 循环后运行代码
- 运行代码以在Android应用程序中单击javascript按钮?尝试在页面上抓取回复按钮联系信息 craigslist
- 函数结束时如何运行代码
- JS 在不满足条件时在 if 语句中运行代码段
- 在 Ember 视图参数更改上运行代码
- 如何在 YUI 模块中运行代码
- 如何在未在 iframe 中定义的 iFrame 中运行代码
- 在后台运行代码,同时显示警报
- 加载页面时运行代码