NodeJS での Web Worker サポートの状況を知っている人はいますか? 2 年前の実装である node-webworkers を見つけましたが、NodeJS の現在のビルドでは動作しませんでした。
質問する
7686 次
4 に答える
3
子プロセスを使用できます。それらは同様の問題を解決します。
于 2013-01-25T13:28:00.463 に答える
2
HTML5 WebWorker ソースの詳細を見ることができます。
少し注意して、次のようなプレリュードを追加することで、WebWorker を Node.js ワーカーとして適合するように「修正」できます。
const { parentPort } = require('worker_threads')
global.postMessage = function(msg){
parentPort.postMessage(msg)
}
var handler
global.addEventListener = function(kind, callback){
handler = callback
}
parentPort.on('message', msg => {
handler(msg)
})
特定の HTML5 ワーカーがmessage
を使用してイベント ハンドラーを追加したaddEventListener
ので、そのような関数を に登録しglobal
、ハンドラーを保存しました。postMessage
また、実装を提供する必要がありました。最後に、HTML5 ハンドラーを呼び出す Node.js メッセージ ハンドラーを登録しました。
すべてが完璧に機能します。特別な依存関係は必要ありません。HTML5 ワーカー コードを見て、メッセージを処理するポイントを特定するだけです。
于 2020-10-25T11:38:44.093 に答える