引用NodeJS event loop documentation。
关闭回调
如果套接字或句柄突然关闭(例如socket.destroy()),则 '关闭'将在此阶段发出事件。否则它会 通过process.nextTick()发出。
上述行的第一个意思是:这是否意味着事件将在此阶段生成,还是在此阶段执行事件的回调?
如果后者为真,那么socket.destroy()
事件是否是在事件循环的关闭阶段处理的唯一事件?那么完成事件呢?
关键事件也是某种特殊的,它们将在事件循环的单独阶段处理?
如果在EventEmitter中我编写emmiter.emit('exe_finish')
,但我希望在事件循环的关闭回调阶段处理该事件,该怎么办?
在我看来,无论发出什么事件,都会在事件循环的poll / IO Callback阶段处理它们。
如何明确声明我的自定义事件应该在事件循环的关闭回调阶段处理?
甚至可以在NodeJS中执行此操作吗?或者我必须用C ++编写自己的节点模块才能做到这一点?
答案 0 :(得分:0)
请参阅this guide,其中说明了
如果套接字或句柄突然关闭(例如socket.destroy()),则关闭'将在此阶段发出事件。否则它将通过process.nextTick()发出。
关闭回调的处理不是绑定到任何eventName
,而是绑定到底层资源(例如套接字)。因此,我认为您无法在关闭回调阶段声明要处理的自定义事件。