ノード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 !
だから私の質問は、なぜそれが「エラーをキャッチ:タイムアウト!」を出力しないのかということです。上記の行を追加した後?ありがとう。