终止隔离
当我想结束在使用Isolate.spawn()或Isolate.spawnUri()创建的服务器上启动的隔离时
我怎么才能终止隔离。
当异常未被发现时,隔离体内的throw x将终止该隔离。
但我希望有一个更优雅的解决方案。
isolate.kill()抛出Uncaught Error: Unsupported operation: kill
得到通知
我猜想,当不再有异步操作活动时,隔离结束(类似于main),但是我如何知道隔离器是否真的终止了呢?
当子隔离终止时,是否有一种方法可以通知父隔离?isolate.addOnExitListener(_sendPort);抛出Uncaught Error: Unsupported operation: addOnExitListener。
是否有其他方法可供选择,还是必须等到这些方法得到支持时再使用?
发布于 2014-10-06 10:57:52
来自https://code.google.com/p/dart/issues/detail?id=10977#c2
检测隔离在成功创建后终止的方法是使用Isolate.addOnExitListener (如果需要知道其终止原因,也可以使用Isolate.addErrorListener )。启动隔离暂停,然后当Isolate.spawnUri的未来完成时,您可以设置监听器,然后继续隔离。 所以我们有一种方法,它仍然没有由VM/Dartium实现,但这是另一个问题。
另请参阅
https://stackoverflow.com/questions/25531966
复制相似问题