我想问一些关于节点 v0.8 中的新模块“域”的信息。
var domain = require('domain');
var EventEmitter = require('events').EventEmitter;
var dm = domain.create();
dm.on('error', function(err) {
console.log('Catch some error: ', err.message);
});
var emitter = new EventEmitter();
emitter.on('test', function() {
throw new Error('Emit an error !');
});
dm.add(emitter);
// emitter.emit('test'); <- This line
dm.run(function() {
setTimeout(function() {
throw new Error('Timeout !');
}, 10);
});
输出:
Catch some error: Timeout !
如果添加该行
emitter.emit('test');
然后输出:
Catch some error: Emit an error !
所以我的问题是为什么它不输出“捕获一些错误:超时!” 添加以上行后?谢谢。