dp-s_doc/Object/Timer/Timer.md

2.8 KiB
Raw Permalink Blame History

Timer 类函数文档

类说明 Timer类为定时器相关操作。


函数签名

公有函数

  • function SetTimeOut(target_func, delay_time, ...)

参数

  • target_func:函数体,要获执行的函数
  • delay_time:整数,要延迟的时间(秒)
  • ...:可变参数,传入的参数可再函数体回调函数中使用

这里给出两个个例子

无参数

    Timer.SetTimeOut(function() {
        print("注册  5  秒后执行")
    }, 5);

有参数

    Timer.SetTimeOut(function(str,num) {
        print(str);//将打印  "字符串"
        print(num);//将打印  123
        print("注册  5  秒后执行")
    }, 5,"字符串",123);


函数签名

公有函数

  • function SetCronTask(target_func, build_info, ...)

参数

  • target_func:函数体,要获执行的函数
  • build_info:可以是字符串,计划任务格式 让gpt帮你写cron字符串 也可以是一个结构体 包含 Cron 和 Name
  • ...:可变参数,传入的参数可再函数体回调函数中使用

注意

  • 关于定时任务的销毁:在执行的任务中 如果不返回 或者返回null 返回true 任务都将继续执行 如果返回false 任务将不再继续执行

这里给出三个例子

无参数

    Timer.SetCronTask(function() {
        print("注册  每五秒  执行")
    }, "*/5 * * * * ?");

有参数

    Timer.SetCronTask(function(str,num) {
        print(str);//将打印  "字符串"
        print(num);//将打印  123
        print("注册  每五秒  执行")
    }, "*/5 * * * * ?","字符串",123);

结构体

    Timer.SetCronTask(function(str,num) {
        print(str);//将打印  "字符串"
        print(num);//将打印  123
        print("注册  每五秒  执行")
    }, {
        Cron = "0/5 * * * * *",
        Name = "TestCronName"
    },"字符串",123);

函数签名

公有函数

  • function RemoveCronTask(name)

参数

  • name:要移除的定时任务的名字

这里给出一个例子

//定义一个显示的变量
getroottable().TaskCount <- 0;

//任务
function Task() {
    getroottable().TaskCount++;
    print("定时任务执行了一次,当前执行次数为:" + getroottable().TaskCount);
}

//注册一个定时任务 每五秒执行一次 任务名为 TestCronName
Timer.SetCronTask(Task, {
    Cron = "0/5 * * * * *",
    Name = "TestCronName"
});

//十秒钟后删除之前注册的定时任务
Timer.SetTimeOut(function() {
    print("删除定时任务");
    //这里执行删除定时任务的逻辑以后 上面的定时任务将不会在继续生效
    Timer.RemoveCronTask("TestCronName");
}, 10000)