Node.js是否保證先發出的事件先被執行?
例如我emit了兩個事件event1和event2,是否有機制可以保重event1的監聽函數先被執行?
7 回复
async和eventproxy这两个库可以满足吧
Node.js原生的機制可以滿足嗎?
@byvoid 貌似是不可以的,从来没看到过
应该不行 node原生是做异步的吧。。想同步执行貌似需要逻辑上控制了吧。。
自己写个队列吧,不复杂。
应该是能保证的吧。貌似执行emit()之后,会立即调用相应的事件监听程序,这个过程是阻塞的。 比如
emit('event1');
// 依次执行完event1事件的监听器之后
emit('event2');
但如果event1里面的程序是异步的,这个就不能保证了。
我只是確認一下,並非有這樣的需求。