worker.on ('error') не работает, когда в работнике происходит необработанное отклонение - PullRequest
0 голосов
/ 23 марта 2020

работник. js

async function main() {
  throw new Error('Bullocks!');
}

setTimeout(async () => {
  await main();
}, 1000);

основной. js

const { Worker } = require('worker_threads');

const worker = new Worker('./worker.js');
worker.on('error', err => {
  console.log('error happened on the worker');
});

Почему этот обработчик ошибок на главной . js не вызывается, вместо этого он просто печатает ошибку.

(node:26000) UnhandledPromiseRejectionWarning: Error: Bullocks!

Я использовал это решение и работает: выдает ошибку, когда происходит необработанное отклонение, но есть ли "правильное" решение для это?

async function main() {
  throw new Error('Bullocks!');
}

setTimeout(async () => {
  await main();
}, 1000);

process.on('unhandledRejection', err => {
  throw err;
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...