auto.js 任务执行时间

auto.js 任务执行时间

原创

于 2022-09-06 22:22:03 发布

·

1.4k 阅读

·

0

·

1

·

CC 4.0 BY-SA版权

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

文章标签:

#javascript

#java

#开发语言

安卓

同时被 2 个专栏收录

21 篇文章

订阅专栏

安卓自动化

4 篇文章

订阅专栏

该博客介绍了一个用于限制函数执行时间的JavaScript函数`run_limit_second_catch`。当函数运行超过指定秒数时,它将捕获异常并返回`undefined`。示例中展示了如何使用该函数,包括正常运行和超时的情况。

// 在规定秒数内运行一个函数,如果超过则强制返回

function run_limit_second_catch(func, second) {

let pool = java.util.concurrent.Executors.newCachedThreadPool();

let future = pool.submit(new java.util.concurrent.Callable(function() { return func(); }));

try {

return future.get(second, java.util.concurrent.TimeUnit.SECONDS);

} catch(e) {

// 处理func函数的异常

console.log(e);

// 注意如果是异常返回 undefined

return undefined;

}

}

run_limit_second_catch(()=> { sleep(6000)}, 5); // 这个函数运行超过5秒,会被catch到并返回

run_limit_second_catch(()=> { console.log("ok") }, 2); // 正常运行完毕,无返回

let result = run_limit_second_catch(()=> { return "我是结果" }, 2); // 正常运行完毕并返回结果

console.log(result);