自己封装计时器

官方提供了一个延时方法:

$.Schedule(time, callback)

其中,time表示延时的时长,以秒为单位,callback是回调函数,表示在N秒后调用这个函数。
我个人感觉打这个$符号很别扭,所以自己封装了两个方法(TypeScript代码):

/**
 * 定义一个计时器,回调函数返回true时停止
 * @param t 间隔时长
 * @param callback 回调函数
 */
function Timer(t:number, callback:()=>(boolean|void)){
    $.Schedule(t, ()=>{
        __timer(t, callback);
    });
}

/** 计时器循环函数 */
function __timer(t:number, callback:()=>(boolean|void)){
    let re = callback();
    if(!re){
        $.Schedule(t, ()=>{
            __timer(t, callback);
        });
    }
}

/**
 * 延迟调用函数
 * @param t 时间
 * @param callback 回调函数
 */
function TimeOut(t:number, callback:()=>void){
    $.Schedule(t, ()=>{
        callback();
    });
}

使用方法:

// 1.5秒后调用
TimeOut(1, ()=>{
	// 1.5秒后执行此处
});

// 每0.2秒调用
Timer(0.2, ()=>{
	// 每0.2秒执行此处
	if( ... ){
		// 满足某条件时,返回true,表示此计时器不再执行
		return true;
	}
});
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值