我希望将 dart 脚本交叉编译为 JS,并在 Web Workers 中运行。
我的 JS 脚本应该如下所示:
myScript.js
postMessage("I\'m working before postMessage(\'ali\').");
onmessage = function (oEvent) {
postMessage("Hi " + oEvent.data);
};
如何构建我的 dart 代码来做到这一点?
将这两个函数直接放在我的 javascript 顶部非常重要,以便能够在工作线程中运行。 谢谢
最佳答案
我不确定以前是否有人尝试过这个。所以你应该!
dart.js,启动 Dart VM(如果可用)并设置 js-interp 的脚本,不会有太大用处,因为它的很多内容访问在工作线程中不可用的对象,并且因为你不'不需要启动VM。
所以我的猜测是,您需要做的就是使用 dart2js 编译代码并直接在工作调用中引用 app.dart.js:
new Worker("dart_worker.dart.js");
然后在 dart_worker.dart.js 中注册 window.onMessage
事件并正常调用 window.postMessage
。
希望如果您不使用不允许的 DOM 对象(例如 document
),dart2js 不会生成在工作线程中失败的代码。
请告诉我们这是否有效!
关于javascript - Dart 到 javascript 工作人员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16120068/