zoukankan      html  css  js  c++  java
  • flex学习记录——控制函数的执行顺序

          在调用函数的时候,有时我们希望先执行完一个函数,然后再执行另一个一个函数;或者需要先执行一个函数,并得到这个函数的执行结果,根据这个结果去执行另一个函数。一般地,我们习惯只是排放函数的位置先后关系,以为这样函数就能按照我们的意愿去执行,然后结果总让人失望。暂未清楚其具体原因,只知其不可行,下面是一种解决方法:通过监听实现。

    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application  xmlns:mx="http://www.adobe.com/2006/mxml"    width="100%" height="100%"    pageTitle="函数执行顺序" 
    creationComplete="initApp();"> <mx:Script> <![CDATA[ import mx.rpc.events.FaultEvent; import mx.rpc.events.ResultEvent; import mx.controls.Alert; import mx.containers.VBox; private var countdf:int = 0; private function initApp():void{ menuService2.addEventListener(ResultEvent.RESULT,sfshow); //监听函数 menuService2.getCountByUserId(userid); } private function sfshow(event:ResultEvent):void{ countdf = event.result as int; if(countdf>0){ Alert.show("countdf"+countdf); } } ]]> </mx:Script> <mx:RemoteObject id="menuService2" destination="menuService"/> <mx:VBox width="100%" height="100%" paddingBottom="0" paddingLeft="0" paddingRight="0" paddingTop="0"> </mx:VBox> </mx:Application >

    另一种实现方式:

    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application  xmlns:mx="http://www.adobe.com/2006/mxml"    width="100%" height="100%"    pageTitle="函数执行顺序" 
        creationComplete="initApp();">
        <mx:Script>
            <![CDATA[
                import mx.rpc.events.FaultEvent;
                import mx.rpc.events.ResultEvent;
                import mx.controls.Alert;
                import mx.containers.VBox;
    
    
                private var countdf:int = 0;
               
            
            private function initApp():void{
             menuService2.getCountByUserId(userid);
            }
            private function sfshow(event:ResultEvent):void{
                
                countdf = event.result as int;
                
                if(countdf>0){
                    
                    Alert.show("countdf"+countdf);
                }
            }
            ]]>
        </mx:Script>
        <mx:RemoteObject id="menuService2" destination="menuService">
    <mx:method name="getCountByUserId" result="sfshow(event)"/>
        <mx:VBox width="100%" height="100%" paddingBottom="0" paddingLeft="0" paddingRight="0" paddingTop="0">
    
        </mx:VBox>
        
    </mx:Application >
  • 相关阅读:
    Visual Studio 2013各个版本密钥(亲测可用)
    Duilib bkimage 属性
    VC++ 文件夹的打开
    孙鑫- VC++在对话框程序中让对话框捕获WM_KEYDOWN消息
    OpenCV窗口置顶的方法
    OpenCV设置感兴趣区域(roi)
    Ubuntu 12,04安装ROS Hydro
    VC获取任务栏窗口及其子窗口句柄
    关于调用静态链接库LIB,提示重定义或库冲突的错误
    DuiLib如何禁用双击标题栏窗口最大化
  • 原文地址:https://www.cnblogs.com/zhangchunxi/p/2771054.html
Copyright © 2011-2022 走看看