使用事件发射器持久性命令触发事件

时间:2014-04-01 13:04:13

标签: javascript node.js eventemitter

关于事件发射器,我有一点小问题,但它对于程序逻辑非常重要。

我正在使用一些外部库来触发我正在收听的事件。让我们说它会引发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
});

谢谢,

伊万

1 个答案:

答案 0 :(得分:2)

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