我正在玩Websockets而且我已经以很少的socket.on(msg,function())事件结束了。所以我想知道什么是最佳实践,只需为每个案例添加socket.on事件,或者只使用一个事件来处理将在
中处理的子事件switch(json.type) {
case 'maps' : add_maps_from_json(json);
break;
case 'fList': show_floor_list(json);
break;
...
case 'xxx':
答案 0 :(得分:3)
由于触发了一个'onmessage'事件,因此为此设置一个处理程序似乎最干净。否则事情会很快变得混乱,因为没有中心位置,一旦事件发生,会发生什么事情。
此外,对于众多处理程序,可能需要在每条消息上调用所有代码。对于许多用例来说,这可能是不重要的,但是对于高消息频率和/或时间关键处理,具有单一功能似乎是更有效的解决方案。
在整体上,单个处理函数是Mozilla在其WebSocket tutorial
中的功能答案 1 :(得分:1)
这两种方法都可行 但是,如果您使用一个事件,则可以对该消息执行一些常见的预处理或后处理。在单独的socket.on事件中执行此操作会强制您复制代码(即使预处理/后处理是在单独的方法中完成的)。 所以,我会选择一种socket.on方法。