【问题标题】:How do I get errors to the console from node-webworker-threads?如何从 node-webworker-threads 将错误发送到控制台?
【发布时间】:2015-01-27 18:48:18
【问题描述】:

我正在开发一个 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 文件作为线程,我也没有看到任何语法错误报告。我应该捕捉一些未记录的错误事件吗?我的环境可能有问题吗?

【问题讨论】:

  • 你可能想在图书馆的 github repo 上将此作为一个问题预订,因为它通常不是网络工作者的问题......就像在浏览器端一样

标签: javascript node.js multithreading error-handling web-worker


【解决方案1】:

尝试绑定worker的onerror事件:

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

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

webpackWorker.postMessage("dummy");

【讨论】:

    【解决方案2】:

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

    worker.on('error', function (error) {
        console.log(error);
    })
    

    【讨论】:

      猜你喜欢
      • 2013-06-19
      • 2018-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-24
      • 1970-01-01
      • 2013-02-06
      相关资源
      最近更新 更多