我正在开发一个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文件作为线程调用,所以我也没有看到任何语法错误报告。我应该捕捉一些未记录的错误事件吗?我的环境可能有问题吗?
尝试绑定到该工人的onerror事件:
var webpackWorker = new Worker(function() {
this.onmessage = function(event) {
throw ('test');
};
});
webpackWorker.onerror = function (event) {
console.log(event);
}
webpackWorker.postMessage("dummy");
在worker.on('error')中登录错误,该方法确实对我有用。
worker.on('error', function (error) {
console.log(error);
})