接收到数据后的处理

protected function dispatch(_arg1:uint, _arg2:uint):void{
            var _local4:Object;
            var _local3:String = Protocol.concat(_arg1, _arg2);
            if ((this._eventList[_local3] is Function)){
                this._event.dispatchEvent(new Event(_local3));
            } else {
                _local4 = Protocol.lookupProtocol(_arg1, _arg2);
                Helper.alert("[response]接口没有注册UI回调方法:", Protocol.getProtocolDescription(_local4["request"]));
            };

        }

接收到网络数据后,会调用dispatch(_arg1:uint, _arg2:uint),如果eventlist注册了处理器,就分发该数据。

视图会调用data.call.

public function call(_arg1:Object, _arg2:Function, _arg3:Array, _arg4:Boolean=true):void{
            if (this._sock.connected == false){
                this._view.tip2.showAlert(DataBaseLang.connected);
                return;
            };
            var _local5:int = _arg1["module"];
            var _local6:int = _arg1["action"];
            if (this.hasNotAllow(_local5, _local6)){
                return;
            };
            if (false == _arg4){
                this.addNotAllow(_local5, _local6);
            };
            if ((_arg2 is Function)){
                this.patchBase(_local5, _local6, this.patchHandler(_local5, _local6, _arg2));
            };
            Helper.recordInteraction(Helper.REQUEST, _local5, _local6, _arg3);
            this.netCall(_local5, _local6, _arg1["request"], _arg3);
        }

patchHandler返回一个函数

private function patchHandler(_arg1:uint, _arg2:uint, _arg3:Function):Function{
            var modId:* = _arg1;
            var funId:* = _arg2;
            var callback:* = _arg3;
            return (function (_arg1:Event):void{
                if (!Protocol.keepAlive(modId, funId)){
                    cancelPatchBase(modId, funId);
                };
                callback();
            });
        }

public function patch(_arg1:Object, _arg2:Function):void{
            var _local3:int = _arg1["module"];
            var _local4:int = _arg1["action"];
            this.patchBase(_local3, _local4, this.patchHandler(_local3, _local4, _arg2));
            Protocol.addWired(_arg1);
        }

为data.event添加或移除listener。

private function patchBase(_arg1:uint, _arg2:uint, _arg3:Function):void{
            var _local4:String = Protocol.concat(_arg1, _arg2);
            if ((this._eventList[_local4] is Function)){
                this.cancelPatchBase(_arg1, _arg2);
            };
            this._eventList[_local4] = _arg3;
            this._event.addEventListener(_local4, _arg3);
        }
        public function cancelPatch(_arg1:Object):void{
            var _local2:int = _arg1["module"];
            var _local3:int = _arg1["action"];
            Protocol.removeWired(_local2, _local3);
            this.cancelPatchBase(_local2, _local3);
        }
        private function cancelPatchBase(_arg1:uint, _arg2:uint):void{
            var _local3:String = Protocol.concat(_arg1, _arg2);
            var _local4:Function = this._eventList[_local3];
            if ((_local4 is Function)){
                this._event.removeEventListener(_local3, _local4);
            };
        }

应该控制器来识别事件,然后再调用view中相应的方法,改变屏幕中的显示。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值