zoukankan      html  css  js  c++  java
  • C# 的Timer 在javascript中的实现--基于Typescript

    class Timer {
    
    //js 内置的timer对象
        private _jsInnerTimerObj: any;
        private _enable: boolean;
        private _handlerInvoker:any;
    
        private _interval: number;
        
        get Interval(): number{
            return this._interval;
        }
        set Interval(value: number) {
            this._interval = value;
            //重新设定新的定时器
            if (this._jsInnerTimerObj) {
                window.clearInterval(this._jsInnerTimerObj);
            }
    
            
           
        }
    
    
        private _elapsed:any;
    
        get Elapsed(): any{
            return this._elapsed;
        }
        set Elapsed(value: any) {
            /*if (!isFunction(value)) {
                throw new Error("the Elapsed value must be function!");
            }*/
            this._elapsed = value;
            //只有设置了触发事件才定时,没有回调的定时器是无意义的定时执行其中的匿名方法
            this._jsInnerTimerObj = window.setInterval(this._handlerInvoker, this.Interval);     
                
        }
    
    
        /*  构造函数
        *@interval 设置定时器的毫秒数
        */
        constructor(interval: number) {
            this._enable = false;
            this.Interval = interval;
            var that = this;
            this._handlerInvoker = function () {
                 if (that.Elapsed&&that._enable==true){
                    that.Elapsed();
                 }
            }
        }
    
    
        Start() {
            this._enable = true;
        }
        Stop() {
            this._enable = false;
        }
    }
    
    
    var t = new Timer(500);
    t.Elapsed = function () {
       document.write(99)
    }
    t.Start();
  • 相关阅读:
    python3监控网站状态
    暴力屏蔽80访问失败的用户
    python3爬取中国药学科学数据
    python3发邮件脚本
    OOP AOP
    lambda
    jni
    Gradle史上最详细解析
    supersocket 遇到的Failed to initialize 和 log4net用法
    在c#中利用keep-alive处理socket网络异常断开的方法
  • 原文地址:https://www.cnblogs.com/micro-chen/p/7766304.html
Copyright © 2011-2022 走看看