私はWorker objects beforeで作業しましたが、特にチュートリアルではかなり簡単です。Javascript SharedWorkerがメインプログラムと正しく通信していません
自然に次のステップはwork with SharedWorkersになります。私はそれを持っているが、今はSharedWorkerが正しく応答していないようだ。私はSharedWorkerにpostMessageを送ります。私のコードでは、SharedWorkerはエコーエフェクトのようなものを同じテキストにポストバックしています。
残念ながら、SharedWorkerは、メインプログラムから送信されたメッセージの最初の文字を返すだけで、SharedWorkerが実行されていることを知らせるためにコンソールに「バックグラウンド」文字列を記録しません。また、「セットアップ完了」ログメッセージは、SharedWorkerが作成されたことを示します。
コード...
メインのHTMLファイル...
<html>
<head>
<title>Test</title>
</head>
<body>
<script>
var w = new SharedWorker('sharedworker.js');
w.port.start();
w.port.postMessage("start");
w.port.onmessage = function(e){
console.log(e.data);
};
console.log("Setup complete.");
</script>
</body>
</html>
SharedWorkerスクリプト...
onconnect = function(e){
var port = e.ports[0];
port.addEventListener('message', function(e){
port.postMessage(e.data[0]);
});
port.start();
console.log("Background.");
}
私が間違って何をしているのですか?
チケットだこれは! port.postMessage(e.data [0]); w.port.postMessage([data1、data2])などの配列を渡す場合に使用されます。 –