$task - 脚本任务

  • 更新时间:2025-12-13 11:58:45

脚本任务

每个正在执行的代码文件中都会内置一个专属对象:任务对象($task)

你可以通过任务对象($task)来控制当前任务的执行

你也可以通过任务对象($task)来获取当前任务的信息

const {String} id;

任务唯一序列

该序列会和当前线程名称保持一致

  • 版本 : 1.7.0

日志("当前任务唯一序列:",$任务.id);

const {long} 开始时间;

当前任务的开始执行时间

  • 版本 : 1.7.0

日志("当前任务的开始执行时间:",$任务.开始时间);

const {String} 名称;

当前任务名称

有时也指路径或文件名称

  • 版本 : 1.7.0

日志("当前任务名称:",$任务.名称);

const {String} 线程名称;

当前任务线程名称

线程名称通常与ID相同

  • 版本 : 1.7.0

日志("当前任务线程名称:",$任务.线程名称);

const {String} 路径;

当前脚本路径

此属性并不重要,取决于执行脚本时传入的路径参数值,如果是临时文件,则路径是随机生成的。

  • 版本 : 1.7.0

日志("当前脚本路径:",$任务.路径);

停止()

停止任务

每个任务($任务)都是一条新的线程,如果你的代码中存在死循环,则循环不会停止(因为循环会被当作一条命令执行,表示执行完毕这个命令了),请处理好脚本逻辑。

  • 版本 : 1.7.0

$任务.停止();

获取信息()

获取脚本任务信息

  • 返回 : {JsTaskInfo} 任务信息

  • 版本 : 1.7.0

定义 信息 = $任务.获取信息();
提示("任务信息",信息);

是运行的()

是否正在运行

  • 返回 : {布尔值} 返回是否正在运行

  • 版本 : 1.7.0

如果($任务.是运行的()){
    提示("任务正在运行");
}否则{
    提示("任务已经停止运行");
}

获取id()

获取当前任务的ID

  • 返回 : {字符串} 返回当前任务的ID

  • 版本 : 1.7.0

定义 id = $任务.获取id();
提示("任务ID",id);

获取开始时间()

获取当前任务的开始时间

  • 返回 : {long} 返回当前任务的开始时间

  • 版本 : 1.7.0

定义 时间 = $任务.获取开始时间();
提示("任务开始时间",时间);

获取名称()

获取当前任务的名称

  • 返回 : {字符串} 返回当前任务的名称

  • 版本 : 1.7.0

定义 线程名称 = $任务.获取名称();
提示("任务名称",线程名称);

获取线程名称()

获取当前任务的线程名称

  • 返回 : {字符串} 返回当前任务的线程名称

  • 版本 : 1.7.0

定义 线程名称 = $任务.获取线程名称();
提示("线程名称",线程名称);

获取路径()

获取当前任务的脚本路径

  • 返回 : {字符串} 返回当前任务的脚本路径

  • 版本 : 1.7.0

定义 路径 = $任务.获取路径();
提示("脚本路径",路径);

获取路径(相对路径)

获取相对当前脚本路径的绝对路径

  • 参数 : 相对路径 {字符串} 相对路径

  • 返回 : {字符串} 返回绝对路径

  • 版本 : 1.7.0

定义 路径 = $任务.获取路径("../res");
提示("相对路径",路径);

暂停()

暂停当前任务

  • 版本 : 1.7.0

//我演示一个错误的用法:
$任务.暂停();//当暂停以后,下面的代码不会被执行
//...其他代码
$任务.开始();//这行代码不被执行到,因此这样调用毫无意义

开始()

继续运行暂停的任务

  • 版本 : 1.7.0

$任务.开始();

是暂停的()

任务是否暂停

  • 返回 : {布尔值} 是否暂停

  • 版本 : 1.7.0

日志("是否暂停",$任务.是暂停的());

是停止的()

判断任务是否停止

只有当调用了'$任务.停止()'或者'$引擎.停止(ID)'或'$引擎.停止全部()'才会返回'真'

  • 返回 : {布尔值} 是否停止

  • 版本 : 1.7.0

//因此,在多线程中正确书写死循环的方式:
$线程.运行(()=>{
    (!$任务.是停止的()){
        日志("正在运行...");
        睡觉(1000);
    }
    日志("脚本停止");
});