在得到了 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);
}