作者easy1 ( )
看板Flash
標題[問題] 連續的呼叫一串callback functions
時間Tue May 5 19:20:19 2009
在as3或是其他gui programming裡
都會有event listener 的設計
就是某件事發生後 會執行一個callback function
我的問題是 我今天想要作 N 件事
這 N 件事 分別都需要給它一個callback function
但我想要 "等" 這 N 件事全都做完...
目前我的方法是是讓他們透過callback function 去一個叫一個
/* *************************************************** */
var onDone_N = function() { /* 現在 N 件事都作完了 */ };
... = function(callback) { /* doThing_N(onDone_N) };
...
var onDone_2 = function() { /* doThing_3(onDone_3) };
var onDone_1 = function() { /* doThing_2(onDone_2); };
// 開始執行第一件事
doThing_1( onDone_1 ); /* 做第1件事, 完成後會呼叫 callback function onDone_1 */
/* *************************************************** */
不知道有什麼其他好方法
這樣寫起來有點痛苦
--
※ 編輯: easy1 來自: 85.180.8.101 (05/05 19:31)
推 etrexetrex:5899 不知道幫不幫的上忙? 05/06 00:06
推 cjcat2266:可以描述一下是在怎樣的情況下有這種需求嗎? 05/06 00:08
→ cjcat2266:了解造成此種需求的原因,或許可以得到其他解答:) 05/06 00:08
→ easy1:想要一次call很多個URLLoader.load(...) 然後蒐集所有結果 05/06 00:35
→ easy1:用 FSM? hmm.... 05/06 00:40
推 cjcat2266:你可以參考看看BulkLoader 05/06 00:47
→ cjcat2266:專門用來一次載入一堆資料,然後最後丟個complete事件 05/06 00:48
→ cjcat2266:image, XML, sound, binary檔案格式都幫你考慮到了 05/06 00:48
→ cjcat2266:如果不要用API,那就用一個單一listener監聽所有資料載 05/06 00:49
→ cjcat2266:入的complete事件,每完成一個就讓一個變數+1,當答到預 05/06 00:49
→ cjcat2266:定數量,則進入結束function 05/06 00:50
→ easy1:感謝實用資訊!! 05/06 02:26
→ easy1:CJ大是吧 :-p 05/06 02:40