关于回调函数传参数问题[批量加载中会经常用到]

原创 2012年03月31日 16:05:21
方式一: 1.用内联函数传参 (只适用于一个回调加载,多个时候不行) 例:
比如我们要在callbackFunction函数中传递一个字符串'id is:'和一个整型15,实现方法请参见如下代码:

var str:String = 'id is:';

var num:int = 15;


Alert.show("是否删除该条目?","确认删除",Alert.YES|Alert.NO,this,function(e:CloseEvent):void{callbackFunction(e,str,num)});


private function callbackFunction(event:CloseEvent,str:String,num:int):void{
        if(Alert.YES == event.detail){
            //当点击YES时的操作
            Alert.show(str+num.toString(),"您点击了YES按钮");
        }else{
            //当点击NO时的操作
        }
 } 


 方式二:用自定义事件(有点小问题)

                

package {
   
   import flash.events.Event;
 
   public class CustomEvent extends Event {
     
      public static const CUSTOM:String = "custom";
     
      public var arg:*;
     
      public function CustomEvent(type:String, customArg:*=null,
                                  bubbles:Boolean=false,
                                  cancelable:Boolean=false) {
         
         super(type, bubbles, cancelable);
         
         this.arg = customArg;
         
      }
           
      public override function clone():Event {
         return new CustomEvent(type, arg, bubbles, cancelable);
      }
     
      public override function toString():String {
         return formatToString("CustomEvent", "type", "arg",
                               "bubbles", "cancelable", "eventPhase");
      }
   
   }
 
}


方式三:推荐(Dictionary)用Dictionary保存Loader

private var hashmap:Dictionary = new Dictionary ;   //存放Loader[e.target]对象
				for each(var path:String in arrpath){
					var loader:URLLoader = new URLLoader();
					loader.addEventListener(Event.COMPLETE,onLoadComplete);   //回调函数传参数
					hashmap[loader] = {path:path , i:'i'}  ;  //设置参数
					loader.load(new URLRequest(path));
				}

/**
		 * callback function for loader
		 * */
		private function onLoadComplete(e:Event):void{
			var loader:URLLoader = e.target as URLLoader ;
			var params:Object = hashmap[loader] ;
			trace(params) ;
			
			var content:String = e.target.data as String ;
			//var path:String = e.arg as String ;
		}


如何给$.ajax的回调函数传参数?

如何给$.ajax的回调函数传参数?
  • zrz009
  • zrz009
  • 2010年08月12日 09:28
  • 945

函数名作为参数传递 与 回调函数

成员函数名不能作为参数传递,否则会发生错误,因为里面隐藏着一个this 指针      回调函数,就是由你自己写的。你需要调用另外一个函数,而这个函数的其中一个参数,就是你的这个回调函数名。这样...
  • cjjwwss
  • cjjwwss
  • 2014年03月20日 17:43
  • 3135

PHP回调函数的实现方法

全局回调函数:     这里的全局函数的意思,是直接使用function定义的函数,它不包含在任何对象或类之中。请看下面的例子。 示例代码: function fnCallBack( $...
  • markely
  • markely
  • 2014年04月14日 21:30
  • 2116

Cocos2d-x 3.X 里的回调函数及其参数适配

作为一个游戏引擎,为了满足用户的各种响应需求,必然要大量用到回调函数(关于什么是回调函数,请参考这里)。Cocos2d-x 3.X里面至少有以下三个地方需要用到回调函数。...
  • u014078216
  • u014078216
  • 2016年01月11日 23:37
  • 1315

jQuery ajax - load() 方法 回调函数以及如何得到回调结果中需要的数据值

jQuery ajax - load() 方法 回调函数 jQuery ajax - load() 方法 实例 使用 AJAX 请求来改变 div 元素的文本: (“button”).clic...
  • qq_28483283
  • qq_28483283
  • 2017年01月14日 18:43
  • 2783

通过Lua彻底明白了回调函数

Lua回调函数实例 local m = {} local list = {name="hello",age=12} m.call_back_fun_print = function(printID)...
  • ouyangshima
  • ouyangshima
  • 2014年12月02日 17:07
  • 3858

cocos2d-x 回调函数详解

转自:http://blog.csdn.net/zhanglongit/article/details/8550367   cocos2d-x中有大量的回调函数的应用,主要有以下几类,看下CCOb...
  • gf771115
  • gf771115
  • 2013年05月29日 20:49
  • 3452

iOS笔记-----关于回调函数——Delegate的那些事

iOS笔记也终于迈入两位数之列。在此里程碑下。明显要拿出点诚意来好好写一写。所以,我决定写一下早已改写的delegate。 什么是回调函数 我们先不管delegate,我们先来说说回调函数(cal...
  • wwwang89123
  • wwwang89123
  • 2013年09月07日 15:50
  • 2466

html5自定义comfirm组件,可传参数、回调方法

大家都知道系统自带的confirm组件功能上可以满足我们的需求,但是样式很丑,而且还会暴露ip地址 这里就做了一个confirm组建的封装,在系统自带组件的基础上,效果图如下: $...
  • zyzxrj
  • zyzxrj
  • 2015年01月07日 20:40
  • 1508

java在子线程与主线程传递数据(回调函数)

java在子线程与主线程传递数据(回调函数)
  • feipeng8848
  • feipeng8848
  • 2017年01月06日 11:17
  • 5007
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于回调函数传参数问题[批量加载中会经常用到]
举报原因:
原因补充:

(最多只允许输入30个字)