定时操作

setTimeout

定时器,返回定时器id,只执行一次
参数:
参数名 类型 必填 说明
cb function 必填 定时器函数(不支持匿名函数)
time long 必填 毫秒
例子:
// 注意,注意,注意:不能点击脚本右上角的"调试执行"按钮,请在移动端脚本中点击"执行"按钮执行。
function main() {
    var handler = setTimeout(cbFunc, 3000);
}

function cbFunc() {
    console.log('time is coming');
}

clearTimeout

取消定时
参数:
参数名 类型 必填 说明
id string 必填 定时器id
例子:
// 注意,注意,注意:不能点击脚本右上角的"调试执行"按钮,请在移动端脚本中点击"执行"按钮执行。
function main() {
    var handler = setTimeout(cbFunc, 3000);
    clearTimeout(handler);
}

function cbFunc() {
    console.log('time is coming');
}

setInterval

周期定时器,返回定时器id,周期性执行,直到调用clearInterval为止
参数:
参数名 类型 必填 说明
cb function 必填 定时器函数(不支持匿名函数)
time long 必填 毫秒
例子:
// 注意,注意,注意:不能点击脚本右上角的"调试执行"按钮,请在移动端脚本中点击"执行"按钮执行。
function main() {
    var handler = setInterval(cbFunc, 3000);
}

function cbFunc() {
    console.log('time is coming');
}

clearInterval

取消定时器
参数:
参数名 类型 必填 说明
id string 必填 定时器id
例子:
// 注意,注意,注意:不能点击脚本右上角的"调试执行"按钮,请在移动端脚本中点击"执行"按钮执行。
var __global handler = null; // 多个线程访问时需要加上__global
function main() {
    handler = setInterval(cbFunc, 3000);
}

function cbFunc() {
    console.log('time is coming');
    if (null != handler) {
        clearInterval(handler);
        handler = null;
    }
}

setCronTask

cron调度器,返回调度器id
参数:
参数名 类型 必填 说明
cb function 必填 定时器函数(不支持匿名函数)
cron string 必填 cron表达式,支持cron4j,cron4j表达式的语法中文文档参考这里
forceRun boolean 选填 若已有定时任务在运行时是否强制停止运行的任务后再执行该任务,默认值false。
stopMainTask boolean 选填 执行前是否停止主任务,默认值false。
exeDefaultTaskWhenFinished boolean 选填 当任务结束后是否执行默认任务,默认值false。
例子:
// 注意,注意,注意:不能点击脚本右上角的"调试执行"按钮,请在移动端脚本中点击"执行"按钮执行。
function main() {
  console.log('enter main');

  // 每分钟执行一次
  setCronTask(cbTask, '* * * * *', false, false, false);
}


function cbTask() {
  console.log('do task');
}

clearCronTask

取消cron调度
参数:
参数名 类型 必填 说明
id string 必填 cron调度器id
例子:
// 注意,注意,注意:不能点击脚本右上角的"调试执行"按钮,请在移动端脚本中点击"执行"按钮执行。
var __global task = null;
function main() {
    console.log('enter main');
    // 每分钟执行一次
    task = setCronTask(cbTask, '* * * * *', false, false, false);
}

function cbTask() {
    console.log('do task');
    if (null != task) {
        clearCronTask(task);
        task = null;
    }
}