NodeJS中的HTML5 Web Worker?

And*_*all 5 html5 web-worker node.js

任何人都知道NodeJS中Web Worker支持的状态是什么?我找到了一个两年前的实现,node-webworkers,但它没有运行当前版本的NodeJS.

ser*_*inc 5

工作线程在 12 个 LTS 中达到稳定状态。使用示例

const {
  Worker, isMainThread, parentPort, workerData
} = require('worker_threads');

if (isMainThread) {
  module.exports = function parseJSAsync(script) {
    return new Promise((resolve, reject) => {
      const worker = new Worker(__filename, {
        workerData: script
      });
      worker.on('message', resolve);
      worker.on('error', reject);
      worker.on('exit', (code) => {
        if (code !== 0)
          reject(new Error(`Worker stopped with exit code ${code}`));
      });
    });
  };
} else {
  const { parse } = require('some-js-parsing-library');
  const script = workerData;
  parentPort.postMessage(parse(script));
}
Run Code Online (Sandbox Code Playgroud)


NiL*_*iLL 3

您可以使用子进程,它们解决类似的问题。