js-事件消息回調模擬

// 回調函數
class Callback{
    fun(a){
        console.log(a);
    }
}
// 事件類型
class MyEvent{
    m;
    callBack;
    fun(a){
        this.callBack.fun(a);   
    }
}
// 消息處理中心
class EventMessageCenter{
    events = new Array();
    //註冊事件
    register(event){
        this.events.push(event);    
    }
    //消息處理
    toMessage(m,a){
        for(var i=0;i<this.events.length;i++){
            var obj = this.events[i];
            if(obj.m == m){
                obj.fun(a);
            }
        }
    }
}

class MyClient{
    main(){
        var callBack = new Callback();
        var myEnvent = new MyEvent();
        myEnvent.callBack = callBack;
        myEnvent.m = "testCall";
        var enventCenter = new EventMessage();
        enventCenter.register(myEnvent);

        enventCenter.toMessage("testCall",5);
    }
}
var mc = new MyClient();
mc.main(); 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章