作者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)
1F:推 etrexetrex:5899 不知道帮不帮的上忙? 05/06 00:06
2F:推 cjcat2266:可以描述一下是在怎样的情况下有这种需求吗? 05/06 00:08
3F:→ cjcat2266:了解造成此种需求的原因,或许可以得到其他解答:) 05/06 00:08
4F:→ easy1:想要一次call很多个URLLoader.load(...) 然後蒐集所有结果 05/06 00:35
5F:→ easy1:用 FSM? hmm.... 05/06 00:40
6F:推 cjcat2266:你可以参考看看BulkLoader 05/06 00:47
8F:→ cjcat2266:专门用来一次载入一堆资料,然後最後丢个complete事件 05/06 00:48
9F:→ cjcat2266:image, XML, sound, binary档案格式都帮你考虑到了 05/06 00:48
10F:→ cjcat2266:如果不要用API,那就用一个单一listener监听所有资料载 05/06 00:49
11F:→ cjcat2266:入的complete事件,每完成一个就让一个变数+1,当答到预 05/06 00:49
12F:→ cjcat2266:定数量,则进入结束function 05/06 00:50
13F:→ easy1:感谢实用资讯!! 05/06 02:26
14F:→ easy1:CJ大是吧 :-p 05/06 02:40