oregano在響應消息的函數調用

在得到了 env對象後,如何動態的讓每個env對應一個函數,如以下代碼所表示

在messenger對象的構造函數中把每個響應函數的名字註冊

 

 

 

org.omus._Messenger = function () {
 this.initEventDispatcher();
 this.filters = new Array();
 this.subscr = new Array();
 var hd = new Object();
 hd["msg.toServer"] = "handleError";
 hd["customMsg"] = "handleCustomMsg";
 hd["adminMsg"] = "handleAdminMsg";
 hd["msg.subscr"] = "handleSubscribe";
 hd["msg.unsubscr"] = "handleUnsubscribe";
 hd["msg.unsubAll"] = "handleUnsubscribeAll";
 this.handlers = hd;
}

 

 

 

 

 


org.omus._Messenger.prototype.handleMessage = function (env) {
 var mName = this.handlers[env.getType()];
 if (mName == undefined) {
  org.omus.iLog.error("clj-050","envelope = " + env);
  return;
 }
 this[mName](env);
}

發佈了28 篇原創文章 · 獲贊 0 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章