我通过Socket.IO
发送了大量数据,在某些情况下,我需要检查特定对象之前是否已发送到浏览器?那么在任何emit
调用之前是否存在一些方法或事件,我可以在其中运行双重检查并在某些情况下停止发送过程?某种中间件...
答案 0 :(得分:0)
不,socket.io正确地期望您在发出事件之前处理任何检查。不应该是你已完成支票的情况,你准备好发出一个事件,然后在你发出事件后立即改变了一些事情。
使用async和socket.io,如果以正确的顺序发出事件(如果你有一系列事件,前一个事件应该触发下一个事件),那么你的情况就不会发生。
我建议重新构建代码并重新审视它。但是,如果您仍然想要执行您要求的操作,则可以编写一个包装函数myEmit(),它接受socket.io的emit()并添加一些检查。
是否覆盖socket.io的emit()或只是调用myEmit()取决于你(pst,不要这样做)。