跳到主要内容
CNode

Node.js是否保證先發出的事件先被執行?

社区
Bbyvoid发布于 14 年前最后回复 14 年前
757810

例如我emit了兩個事件event1和event2,是否有機制可以保重event1的監聽函數先被執行?

查看回复

回复 (7)

B
byvoid#714 年前
引用 DoubleSpout自己写个队列吧,不复杂。

我只是確認一下,並非有這樣的需求。

L
leizongmin#614 年前

应该是能保证的吧。貌似执行emit()之后,会立即调用相应的事件监听程序,这个过程是阻塞的。 比如

emit('event1');
// 依次执行完event1事件的监听器之后
emit('event2');

但如果event1里面的程序是异步的,这个就不能保证了。

D
DoubleSpout#514 年前

自己写个队列吧,不复杂。

G
guang384#414 年前
引用 sumoryasync和eventproxy这两个库可以满足吧

应该不行 node原生是做异步的吧。。想同步执行貌似需要逻辑上控制了吧。。

S
sumory#314 年前
引用 sumoryasync和eventproxy这两个库可以满足吧

@byvoid 貌似是不可以的,从来没看到过

B
byvoid#214 年前
引用 sumoryasync和eventproxy这两个库可以满足吧

Node.js原生的機制可以滿足嗎?

S
sumory#114 年前

async和eventproxy这两个库可以满足吧

参与回复

登录后即可参与回复。登录