不能从一个飞镖:io应用程序到一个飞镖:html应用程序spawnUri()?

时间:2012-10-03 19:30:41

标签: dart dart-isolates

这可能吗?也就是说,我尝试过它并没有用。但理论上应该是不可能的呢?我只是来回传递消息,隔离内存空间等等。

import 'dart:io';
import 'dart:isolate';

main(){
  final sp = spawnUri('path/to/dart_html_app.dart');
}

抛出:

IsolateSpawnException: 'Do not know how to load 'dart:html'

1 个答案:

答案 0 :(得分:2)

正如某人已经说过的那样,您无法在VM中导入dart:html(至少在此时)。您的解决方案是将应用程序拆分为两个库,其中您要生成的库不使用dart:html

你到底想要做什么?如果您认为可以通过隔离区进行浏览器和虚拟机通话,则无法正常工作。隔离区使用VM中的线程池和浏览器上的Web Workers(如果可用)。

如果你只是想“从这个URI中加载代码并像新隔离中的任何代码一样执行它”,那么这当然是可能的 - 为什么不呢?您只需重构代码库,这样就不会导入dart:html,除非您确实需要它。