1

Webワーカーで実行されているダーツスクリプトをJSにクロスコンパイルしようとしています。

私の JS スクリプトは次のようになります。

myScript.js

postMessage("I\'m working before postMessage(\'ali\').");

onmessage = function (oEvent) {
  postMessage("Hi " + oEvent.data);
};

これを行うためにダーツコードを構成する方法は?

ワーカーで実行できるようにするには、この 2 つの関数を JavaScript の先頭に直接配置することが重要です。どうも

4

2 に答える 2

1

誰もこれを試したことがあるかどうかはわかりません。だからあなたはすべきです!

Dart VM が利用可能であれば起動し、js-interp を設定するスクリプトである dart.js は、多くの場合、ワーカーで利用できないオブジェクトにアクセスし、その必要がないため、あまり役に立ちません。 VM を起動します。

したがって、dart2js でコードをコンパイルし、ワーカー呼び出しで app.dart.js を直接参照するだけでよいと思います。

new Worker("dart_worker.dart.js");

次に、dart_worker.dart.js でイベントを登録し、通常どおりwindow.onMessage呼び出します。window.postMessage

許可されていない DOM オブジェクト ( など) を使用しない場合document、dart2js がワーカーで失敗するコードを生成しないことを願っています。

これが機能するかどうかお知らせください。

于 2013-04-20T18:27:39.317 に答える