AS中使用回调函数

当你想通过一个类来加载XML或者图片等,想让他返回一个XML或者Bitmap,你不能在类的构造函数直接return,因为他可能return的时候 还没有load完,往往会返回一个空的,这时候你就可以尝试使用回调函数了,或者使用DispatchEvent,如果是一个小程序的话不妨试下回调函 数,简单实用,代码如下:

 public class LoadXML
{
private var fBack:Function ;
 
public function LoadXML( url :String , fBackIn:Function )
{
fBack = fBackIn;
var xmlLoader:URLLoader = new URLLoader( ) ;
xmlLoader.load ( new URLRequest( url ) ) ;
xmlLoader.addEventListener ( Event.COMPLETE , loadComplete) ;
}
private function loadComplete( e :Event) :void
{
trace ( "XML loaded OK" ) ;
var xmlData:XML = new XML ( e .target .data ) ;
fBack( xmlData) ;
}
 
}
主函数里这样写就可以了,就会返回一个XML

你可能感兴趣的:(AS中使用回调函数)