aardio 文档

aardio 范例: 窗口延时与定时器

import win.ui;
/*DSG{{*/
var winform = win.form(text="窗口延时与定时器";right=759;bottom=469)
winform.add(
edit={cls="edit";left=18;top=18;right=740;bottom=441;edge=1;multiline=1;z=1}
)
/*}}*/

//延时执行函数,返回延时器 ID 
winform.setTimeout( 
    function(){
        winform.edit.print("延时 1000 毫秒(1 秒)执行");
    },1000)

//定时执行函数,返回定时器 ID   
timerId = winform.setInterval( 
    function(){
        winform.edit.print("每隔 1000 毫秒(1 秒)执行一次");

        //返回 false,0 等可转换为数值 0 的值停止定时器,
        //返回其他非 0 数值则修改定时器时间间隔为返回值指定的毫秒数。
        //return 0;
    },1000
)

//停止定时器,setTimeout 实际也是由 setInterval 实现,所以定时器 ID 与 延时器 ID 是一回事。 
winform.clearInterval(timerId);

/*
所有窗口与控件都有 setTimeout 与 setInterval 方法。
但控件的 setTimeout 与 setInterval 实际是调用父窗口(win.form 对象)的同名方法。
因此关闭控件不会阻止执行定时与延时函数,
但窗体(win.form 对象)关闭会取消所有属于该窗体的延时与定时器。

调用 win.setTimeout 也会创建一个默认的 messageOnly 窗体并延时执行函数。
*/

winform.show();
win.loopMessage();

Markdown 格式