在Socket.IO中所有发出调用之前是否有一些事件/方法?

时间:2016-02-29 10:53:56

标签: node.js socket.io

我通过Socket.IO发送了大量数据,在某些情况下,我需要检查特定对象之前是否已发送到浏览器?那么在任何emit调用之前是否存在一些方法或事件,我可以在其中运行双重检查并在某些情况下停止发送过程?某种中间件...

1 个答案:

答案 0 :(得分:0)

不,socket.io正确地期望您在发出事件之前处理任何检查。不应该是你已完成支票的情况,你准备好发出一个事件,然后在你发出事件后立即改变了一些事情。

使用async和socket.io,如果以正确的顺序发出事件(如果你有一系列事件,前一个事件应该触发下一个事件),那么你的情况就不会发生。

我建议重新构建代码并重新审视它。但是,如果您仍然想要执行您要求的操作,则可以编写一个包装函数myEmit(),它接受socket.io的emit()并添加一些检查。

是否覆盖socket.io的emit()或只是调用myEmit()取决于你(pst,不要这样做)