使用事件发射器触发事件​​持续顺序

关于事件发射器,我有一点儿不好意思的问题,但是对于可能的程序逻辑来说真的很重要。

我正在使用一些外部库引发我正在听的事件。 可以说,它触发了2个事件:' 数据 '和' 错误 '。 让我们说,lib将始终在错误之前调用数据 ,如下所示:

emit('data', 'some data'); emit('error', 'some error'); 

问题是 :在我的监听方法中,我能100%确定数据事件总是会出现在错误事件之前?

 lib.on('data', function(data) { // is this always first }); lib.on('error', function(error) { // or maybe this }); 

谢谢,

伊万

EventEmitter emit函数是一个同步阻塞函数。 因此,像其他任何阻塞函数一样,它保证按照它所调用的顺序执行。