小编Bag*_*yah的帖子

当工作进程中发生未处理的拒绝时,worker.on('error') 不起作用

工人.js

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

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

Run Code Online (Sandbox Code Playgroud)

main.js

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

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

为什么 main.js 上的错误处理程序没有被调用,而只是打印错误。

(node:26000) UnhandledPromiseRejectionWarning: Error: Bullocks!
Run Code Online (Sandbox Code Playgroud)

我已经使用了这个解决方案并且有效:当发生未处理的拒绝时抛出错误,但是是否有任何“正确”的解决方案?

(node:26000) UnhandledPromiseRejectionWarning: Error: Bullocks!
Run Code Online (Sandbox Code Playgroud)

worker-thread node.js async-await

5
推荐指数
0
解决办法
3674
查看次数

标签 统计

async-await ×1

node.js ×1

worker-thread ×1