稳定性:稳定
engines 模块包含了一些与脚本环境、脚本运行、脚本引擎有关的函数,包括运行其他脚本,关闭脚本等。
例如,获取脚本所在目录:
name
{string} 要运行的脚本名称。这个名称和文件名称无关,只是在任务管理中显示的名称。script
{string} 要运行的脚本内容。config
{Object} 运行配置项
delay
{number} 延迟执行的毫秒数,默认为 0loopTimes
{number} 循环运行次数,默认为 1。0 为无限循环。interval
{number} 循环运行时两次运行之间的时间间隔,默认为 0path
{Array} | {string} 指定脚本运行的目录。这些路径会用于 require 时寻找模块文件。在新的脚本环境中运行脚本 script。返回一个ScriptExectuion对象。
所谓新的脚本环境,指定是,脚本中的变量和原脚本的变量是不共享的,并且,脚本会在新的线程中运行。
最简单的例子如下:
如果要循环运行,则:
用字符串来编写脚本非常不方便,可以结合 Function.toString()
的方法来执行特定函数:
如果要传递变量,则可以把这些封装成一个函数:
path
{string} 要运行的脚本路径。config
{Object} 运行配置项
delay
{number} 延迟执行的毫秒数,默认为 0loopTimes
{number} 循环运行次数,默认为 1。0 为无限循环。interval
{number} 循环运行时两次运行之间的时间间隔,默认为 0path
{Array} | {string} 指定脚本运行的目录。这些路径会用于 require 时寻找模块文件。在新的脚本环境中运行脚本文件 path。返回一个ScriptExecution对象。
path
{string} 要运行的录制文件路径。config
{Object} 运行配置项
delay
{number} 延迟执行的毫秒数,默认为 0loopTimes
{number} 循环运行次数,默认为 1。0 为无限循环。interval
{number} 循环运行时两次运行之间的时间间隔,默认为 0path
{Array} | {string} 指定脚本运行的目录。这些路径会用于 require 时寻找模块文件。在新的脚本环境中运行录制文件 path。返回一个ScriptExecution对象。
停止所有正在运行的脚本。包括当前脚本自身。
停止所有正在运行的脚本并显示停止的脚本数量。包括当前脚本自身。
返回当前脚本的脚本引擎对象 (ScriptEngine)
[v4.1.0 新增]
特别的,该对象可以通过execArgv
来获取他的运行参数,包括外部参数、intent 等。例如:
普通脚本的运行参数通常为空,通过定时任务的广播启动的则可以获取到启动的 intent。
返回当前所有正在运行的脚本的脚本引擎ScriptEngine的数组。
执行脚本时返回的对象,可以通过他获取执行的引擎、配置等,也可以停止这个执行。
要停止这个脚本的执行,使用exectuion.getEngine().forceStop()
.
返回执行该脚本的脚本引擎对象 (ScriptEngine)
返回该脚本的运行配置 (ScriptConfig)
脚本引擎对象。
检测该脚本是否执行结束
停止脚本引擎的执行。
返回脚本执行的路径。对于一个脚本文件而言为这个脚本所在的文件夹;对于其他脚本,例如字符串脚本,则为null
或者执行时的设置值。
返回当前脚本引擎正在执行的脚本对象。
eventName
{string} 事件名称...args
{any} 事件参数向该脚本引擎发送一个事件,该事件可以在该脚本引擎对应的脚本的 events 模块监听到并在脚本主线程执行事件处理。
例如脚本 receiver.js 的内容如下:
同一目录另一脚本可以启动他并发送该事件:
脚本执行时的配置。
延迟执行的毫秒数
循环运行时两次运行之间的时间间隔
循环运行次数
返回一个字符串数组表示脚本运行时模块寻找的路径。