如何在当前脚本中等待其他脚本执行完成

比如说,我现在写了3个脚本,分别是A、B、C,为了方便需要分别维护,所以不能合并成一个脚本;

现在我又写了个新脚本Z,在Z中需要依次执行A、B、C;

请问如何才能在Z中等待A执行完成后再执行B,B执行完后再执行C?

我在Z中尝试写过:

engines.execScriptFile(A的path);
sleep(1000);
engines.execScriptFile(B的path);
sleep(1000);
engines.execScriptFile(C的path);
sleep(1000);

可是这样不行,A开始执行一秒钟后B就开始执行了,再过一秒C也开始执行了,并非等到A、B结束依次执行,

请问大神们有更好的方法吗,拜请不吝赐教。

let sg=require("SingleScript");
sg.enqueue();//默认自动出队,即在on exit时执行

最后由 卢某某 编辑

在你原来的A、B、C脚本最开头加上上面这句话后,即使你同时把A、B、C脚本都运行了,A、B、C脚本也会按照先后顺序一个个执行。不会出现A、B、C同时运行的情况。

@卢某某

感谢指导,也就是说,需要在A、B、C的最开头加上上面这句话,但Z中不用变更,就能实现我的需求吧。

谢谢,我这就去试试。

不用管。

记得把SingleScript.jar、SingleScript.js两个文件都放在你脚本A、B、C所在的目录里面。

管理员

读取文件内容, 然后 使用 for 加 eval 依次执行各个脚本

@dcrclub如何在当前脚本中等待其他脚本执行完成 中说:

读取文件内容, 然后 使用 for 加 eval 依次执行各个脚本

最后由 卢某某 编辑

@dcrclub
好!这个方法正合我意,简单明了,佩服

@qinweizhao 你好,最后的z脚本可以给我看一下吗

@dcrclub 不太懂,能否详细地讲一下

@qinweizhao for加eval具体怎么操作,能帮忙解释下吗,谢谢

  • 13
    帖子
  • 4292
    浏览

与 Auto.js 的连接断开,我们正在尝试重连,请耐心等待