worker.js
async function main() {
throw new Error('Bullocks!');
}
setTimeout(async () => {
await main();
}, 1000);
main.js
const { Worker } = require('worker_threads');
const worker = new Worker('./worker.js');
worker.on('error', err => {
console.log('error happened on the worker');
});
main.js のエラー ハンドラが呼び出されない理由は、代わりにエラーを出力するだけです。
(node:26000) UnhandledPromiseRejectionWarning: Error: Bullocks!
私はこの解決策を使用して動作します:未処理の拒否が発生したときにエラーをスローしますが、これに対する「適切な」解決策はありますか?
async function main() {
throw new Error('Bullocks!');
}
setTimeout(async () => {
await main();
}, 1000);
process.on('unhandledRejection', err => {
throw err;
});