是否有可能在使用Isolate.spawnuri
创建的Dart隔离内使用websockets窗体?websocket和Isolate.spawnuri
我的理解是,客户端,Isolate.spawnuri
使用WebWorkers和WebWorker不能使用dart:html
(DOM),但客户端,websockets是dart:html
的一部分。所以这是一个不行?
THX
(这是很难测试,试图与飞镖编辑器来做到这一点时,我没有得到任何错误或信息,在衍生分离是不可见的,并抛出没有明显的错误,它只是挂起)
这里有一些代码来测试这个:https://gist.github.com/kgersen/148460d056f498a849ef
您的隔离区似乎挂起,因为您没有捕获实例化WebSocket时引发的对象。您必须捕获隔离区主()内的所有抛出的对象,否则隔离区将暂停或终止。如果您想查看错误信息,则必须通过SendPort将其发送回主隔离区。我的测试表明,在spawnuri创建的隔离体内使用某些类会导致抛出的UnimplementedError,但在包含实例化WebSocket的DOM时抛出String(SDK 1.6)时使用。 – 2014-10-07 12:51:54
是啊addind一个捕获给出: DOM访问未启用此隔离 – KGJV 2014-10-07 13:09:39