autojs脚本排队执行

简介: 牙叔教程 简单易学使用场景你有多个脚本, 想让他们一个一个按顺序执行

牙叔教程 简单易学


使用场景


你有多个脚本, 想让他们一个一个按顺序执行


效果展示



autojs版本



知识点


  • 脚本是否已经销毁
  • 获取指定脚本引擎
  • 停止指定脚本
  • 删除数组第一个元素


代码

// 在此处给脚本排队即可
let filePathList = ["1.js", "2.js", "3.js"];
// let filePathList = ["2.js", "1.js", "3.js"];
filePathList = filePathList.map(function (filePath) {
  return files.path(filePath);
});
events.on("exit", function () {
  log("exit");
});
setInterval(function () {}, 1000);
let limitTime = 3000;
while (1) {
  if (filePathList.length > 0) {
    let e = engines.execScriptFile(filePathList[0]);
    while (!e.getEngine()); //等待脚本运行
    let currentScriptEngine = e.getEngine();
    let lastTime = new Date().getTime();
    while (1) {
      let currentTime = new Date().getTime();
      if (currentTime - lastTime > limitTime) {
        log("脚本运行超时, 开始 执行销毁命令");
        currentScriptEngine.forceStop();
        log("脚本运行超时, 结束 执行销毁命令");
        break;
      }
      if (currentScriptEngine.isDestroyed()) {
        break;
      } else {
        sleep(100);
      }
    }
  } else {
    engines.myEngine().forceStop();
  }
  filePathList.shift();
}


声明

部分内容来自网络


相关文章
|
7月前
|
前端开发 JavaScript 数据处理
在JavaScript中,异步函数是指那些不会立即执行完毕,而是会在未来的某个时间点(比如某个操作完成后,或者某个事件触发后)才完成其执行的函数
【6月更文挑战第15天】JavaScript中的异步函数用于处理非同步任务,如网络请求或定时操作。它们使用回调、Promise或async/await。
66 7
|
Go 数据库
sync.Once-保证运行期间的某段代码只会执行一次
sync.Once-保证运行期间的某段代码只会执行一次
92 0
|
8月前
|
JSON 前端开发 算法
2715. 执行可取消的延迟函数
2715. 执行可取消的延迟函数
52 0
|
8月前
|
前端开发 JavaScript
【面试题】如何取消 script 标签发出的请求
【面试题】如何取消 script 标签发出的请求
|
消息中间件 前端开发 NoSQL
如何判断线程池任务执行完?
如何判断线程池任务执行完?
249 0
如何判断线程池任务执行完?
|
JavaScript 前端开发
JS引擎的执行机制event loop
JS引擎的执行机制event loop
76 0
|
JavaScript 前端开发 UED
关于js暂停执行的方法
关于js暂停执行的方法
937 0
关于js暂停执行的方法
|
Python
[oeasy]python0026_刷新时间_延迟时间_time_sleep_死循环_while_True
[oeasy]python0026_刷新时间_延迟时间_time_sleep_死循环_while_True
111 0
[oeasy]python0026_刷新时间_延迟时间_time_sleep_死循环_while_True
|
物联网 Linux 开发者
线程被取消的时候执行清理函数|学习笔记
快速学习线程被取消的时候执行清理函数
Auto.js 特殊定位控件方法 不能在ui线程执行阻塞操作,请使用setTimeout代替
Auto.js 特殊定位控件方法 不能在ui线程执行阻塞操作,请使用setTimeout代替
1360 0
Auto.js 特殊定位控件方法  不能在ui线程执行阻塞操作,请使用setTimeout代替

热门文章

最新文章

下一篇
开通oss服务