作者scars (scars)
看板Flash
标题Re: [问题] 请教如何使用OO读取
时间Fri Mar 4 13:11:07 2011
※ 引述《scars (scars)》之铭言:
: 推 intangible:谢谢scars 虽然还是没有试出来Q.Qa 不过还是谢谢QQ 02/28 23:48
: 推 WeitingYu:我也被这问题困扰好久,暂时用timer一直读取到有资料为 03/04 01:15
: → WeitingYu:止,不过好像不是好方法,研读一下EventDispatcher@@ 03/04 01:16
这不是什麽很难的概念
像URLLoader这个类别,在使用的时候我们会侦听 Event.COMPLETE 事件
再来读取它的data
而不是在call了load()之後马上去取得data
URLLoader在读取完成之後会发出完成事件让我们知道
如果今天要写一个自己的 XMLLoader类别
是不是call了load()之後,也要等它完成再去取得内容
那怎麽知道它完成,就是XMLLoader要发出事件让用它的人知道
例如我们在Main里面使用XMLLoader;XMLLoader里面使用URLLoader
Main XMLLoader URLLoader
new XMLLoader 被new出来
侦听完成事件
令其读取request 读取request
new URLLoader 被new出来
侦听完成事件
令其读取request 读取request
↓
↓
读取完成,发出完成事件
侦听到完成事件
parse资料
处理完成,发出完成事件
侦听到完成事件
後续步骤
两边的流程几乎是一样的
所以平常我们怎麽用URLLoader
就怎麽去写XMLLoader
另外一种做法传入callback
效率上会比event传递来的好
不侦听完成事件,而是传入後续工作给它
在它完成之後不是发出事件,而是直接执行後续工作
就有点像定时关机 跟设定闹钟提醒你关机的差别
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.216.3.82
1F:推 dsmwang:真清楚,不愧是s大,推! 03/04 13:34