看板 Flash 關於我們 聯絡資訊
※ 引述《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
dsmwang:真清楚,不愧是s大,推! 03/04 13:34