【发布时间】: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