javascript - 在 Dart 中编写 WebWorker(没有 dart :isolate)

标签 javascript web dart web-worker dart2js

我正在创建一个用 Dart 编写的 Web 应用程序,它需要创建独立的执行路径,也是用 Dart 编写的。 (如果我们不在浏览器中工作,我会称它们为“线程”。)

通常,我会利用 Dart 的(非常强大的)isolate 来执行此任务,但我受到限制,因为我需要能够在任何时候任意终止任何这些“线程”,而无需它们的合作。

如果有人好奇,这是因为不受信任的第 3 方代码必须在这些“线程”中运行,如果它们没有响应以及其他原因,我需要能够终止它们。

据我所知,使用 dart:isolate 是不可能的。 (对吗?)

无论如何,我已经成功地使用 dart2js 将一些 Dart 代码编译为 Javascript 并在 Worker 中执行它,但我不知道如何正确调用 postMessage 函数并响应 onmessage事件,就像我在 JS 中一样。我稍微弄乱了 dart2js 的内部结构并设法对其进行了调整(特别是 js_backend 的东西),以便我能够从我的代码中执行 postMessage 函数,但响应 带有 Dart 处理程序的 onmessage 事件超出了我对 dart2js 工作原理的理解。

我查看了 js.dart 库,但它是通过在页面上创建脚本标签来工作的,这在 worker 中显然是不可能的。

我知道这是一个非常奇怪的用例,但有没有人知道我将如何利用 dart2js 的内部结构来响应和回复给工作人员的消息?

最佳答案

Worker类似乎支持你想要的东西。

关于javascript - 在 Dart 中编写 WebWorker(没有 dart :isolate),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18790349/

相关文章:

dart - 如何在 Dart 中实现异常链?

javascript - 使用 Sugar.js Javascript 获取当前月份

Iphone 将 url 标记为不安全

php - 连接 MySQL 数据库时遇到问题

android - flutter : trigger a change of screen on a websocket message

dart - 如何从 dart 中的函数返回 Future 或任何其他类型

没有实例化的 JavaScript 类定义

javascript - Microsoft Graph API,创建附件不起作用?

javascript - 如何从javascript中的字符串构建数组?

ruby-on-rails - 如何存储数学方程式/符号并在网络上显示它们?