当我想结束在使用Isolate.spawn()
或Isolate.spawnUri()
创建的服务器上启动的隔离时
我该如何终止隔离。
throw x
终止隔离
但我希望有一个更优雅的解决方案。
isolate.kill()
抛出Uncaught Error: Unsupported operation: kill
我想当没有更多的异步操作处于活动状态时,隔离结束(类似于main
),但我怎么知道隔离实际上是否已经终止?
当子隔离终止时,父隔离是否有办法得到通知?
isolate.addOnExitListener(_sendPort);
抛出Uncaught Error: Unsupported operation: addOnExitListener
是否有替代方法或者我必须等到支持这些方法?
答案 0 :(得分:1)
来自https://code.google.com/p/dart/issues/detail?id=10977#c2
检测到Isolate终止之后终止的方法 成功创建的是使用Isolate.addOnExitListener(可能 如果需要知道它为什么,也可以使用Isolate.addErrorListener 终止)。开始隔离暂停,然后是未来 完成后,Isolate.spawnUri可以设置监听器 恢复孤立。
所以我们有办法,它仍然没有由VM / Dartium实现,但是 这是另一个问题。
另见