【问题标题】:Do events fired using event emitter persist order使用事件发射器触发的事件是否保持顺序
【发布时间】:2014-04-01 13:04:12
【问题描述】:

我对事件发射器没什么疑问,但这对于程序逻辑来说真的很重要。

我正在使用一些外部库来触发我正在监听的事件。假设它触发了 2 个事件:'data' 和 'error'。假设 lib 总是会在 error 之前调用 data,如下所示:

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
});

谢谢,

伊万

【问题讨论】:

    标签: javascript node.js eventemitter


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2020-07-31
      • 2019-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多