私はこの機能を持っています。node.jsドメインとの間隔が例外後に機能しない
$ node test.js
run in domain: bar
bar
error on: bar false undefined
これで、
setInterval(() => { setImmediate(() => { runInDomain(bar) }) }, 1000); // it works!
それは正常に動作します:
function runInDomain(func) {
const d = domain.create();
d.on('error', (er) => {
console.log(`error on: ${func.name}`, er, er.stack);
// just ignore
});
console.log(`run in domain: ${func.name}`);
d.run(func);
}
そして、これでそれを実行し、
function bar() {
console.log('bar');
throw false;
}
setInterval(() => { runInDomain(bar) }, 1000); // 'bar' runs only one time.
関数 'バー' を一度だけが実行されます:
$ node test.js
run in domain: bar
bar
error on: bar false undefined
run in domain: bar
bar
error on: bar false undefined
run in domain: bar
bar
error on: bar false undefined
....
私は最初のことがうまくいかない理由は分かりませんが、2番目のことはわかりません。何らかの理由?
ここに例外出力を掲載できますか? –
@CelsoAgra大丈夫です。 – ljh131
私の 'bar'メソッドを記述するのを忘れてしまった。 – ljh131