【问题标题】:Javascript Asynchronous Events emitting mechanismJavascript 异步事件发射机制
【发布时间】:2013-09-21 10:52:40
【问题描述】:

我正在尝试在节点 REPl 中运行此代码

var E = require('events').EventEmitter;
var e = new E(); //controller

e.on('msg', function(){ console.log(1) }); //handling

(function(){

  console.log(0);
  e.emit('msg');
  console.log(2);

}()); //self-execution

所以它在控制台中给出

0
1
2

这是否意味着事件发射是同步的 并且该代码在某种程度上等于:

(function(){

  console.log(0);
  console.log(1);
  console.log(2);

}()); //self-execution

【问题讨论】:

  • 是的,事件在节点EventEmitter中同步调度。 (但不必,最好不要依赖顺序)

标签: javascript node.js asynchronous dom-events eventemitter


【解决方案1】:

发射器确实是同步的。

但请注意,如果您要在侦听器中编写异步语句,它会影响您的代码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-05
    • 1970-01-01
    • 2018-12-05
    • 1970-01-01
    • 2019-07-10
    • 1970-01-01
    • 2018-08-23
    相关资源
    最近更新 更多