怎么监听到脚本的异常停止事件?

我通过a脚本启动了b脚本。b脚本是一个不会自动终止的脚本。在b脚本运行了一段时间后由于某个原因导致b脚本出现异常并停止运行了,这个时候我希望在a脚本中能够监听到b脚本已经停止了,这样我就可以通过a脚本重新再次启动b脚本。我在文档中没找到符合这一需求的api,希望有了解的大佬指教。

此外,我想到是否可以将核心代码包裹到 try ... catch ... 中,以达到即使代码执行出现了致命错误也不会导致脚本异常退出的效果。此设想还未付诸行动,不知可行与否。不过说实话这么做也太不优雅了,这么做也太没有追求了。。。希望能与大佬深入探讨一番。

last edited by eee

貌似是不可以,对于脚本B的状态,原生框架没有监控

let e = engines.execScriptFile("xx.js");
sleep(2000);
log(e.getEngine().isDestroyed())

last edited by db

使用文档中的协程可以实现你想要的功能:http://doc.autoxjs.com/#/continuation?id=promisecoroutine

或者自己使用 promise + 递归函数 + 自定义脚本引擎和主进程通信实现