gpt4 book ai didi

Dart:在浏览器中使用 dart 编写的 webworker,并在 dart2js 中使用

转载 作者:行者123 更新时间:2023-12-03 02:57:39 26 4
gpt4 key购买 nike

基本上我现在很困惑:设置非常简单 - 我想使用 dart 编写主应用程序和网络 worker 部分 - 这部分需要访问与常规 JS 网络 worker 相同的 API 并运行在部署时作为真正的 worker (即编译为 js)。

据我所知,dart isolates 不是我想要的,因为当编译为 JS 时,它们作为主线程的一部分执行,即使它们不与主代码共享状态——这对我的用例来说是 Not Acceptable 。

此外,如果我理解正确的话,如果我要将 Worker API 与脚本 uri 一起使用,我将无法使用 dart 代码,但即使我可以,它也必须是一个完全独立的项目并且不能成为我的主要代码的一部分(就像它是与隔离)。

在 Dart 的当前状态下,我的场景是否可行?一个关于如何使用 dart 中的 web worker 并在 dart 中编写 worker 代码以及访问 xmlhttprequest 的简化示例会很棒。我知道如果不进行序列化/反序列化,我可能无法传输对象,但这没关系。

谢谢。

最佳答案

dart2js 中的 Isolates 将被映射到 workers。您应该能够使用 spawn 或 spawnUri。所以那部分应该没问题。

目前,您在 Dartium 中开发时更有可能遇到问题,其中 isolates 不映射到 workers。它们并行运行,但无权访问 worker API。正在努力。这也是您不能在 Dartium 中使用 spawn 的原因,以防止使用 dart:html 代码生成某些东西,如果它尝试使用这些 API,这些代码将会中断。不幸的是,即使像 print() 这样简单的东西现在也会抛出 Dartium isolate。但据我所知,它在部署中运行良好。

关于Dart:在浏览器中使用 dart 编写的 webworker,并在 dart2js 中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28462530/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com