我如何从node-webworker-threads获取错误到控制台?

问题描述 投票:3回答:2

我正在开发一个node.js应用程序。我正在使用webworker-threads程序包剥离一些CPU阻止任务。但是,我的线程代码中未捕获的错误不会发送到控制台。相反,线程只是静默失败。最简单的情况说明了这一点:

var Threads = require('webworker-threads');
this.testThread = new Threads.Worker( function() {
      console.log("This is the test thread. The next line should throw an error.");
      undefinedFunction();
    } );

由于我的实际应用程序将单独的js文件作为线程调用,所以我也没有看到任何语法错误报告。我应该捕捉一些未记录的错误事件吗?我的环境可能有问题吗?

javascript node.js multithreading error-handling web-worker
2个回答
1
投票

尝试绑定到该工人的onerror事件:

var webpackWorker = new Worker(function() {             
    this.onmessage = function(event) {
       throw ('test');
    };
});

webpackWorker.onerror = function (event) {
    console.log(event);
}

webpackWorker.postMessage("dummy");

0
投票

在worker.on('error')中登录错误,该方法确实对我有用。

worker.on('error', function (error) {
    console.log(error);
})
© www.soinside.com 2019 - 2024. All rights reserved.