比如有三个函数:
function f1():void{
//do something
f2();
f3();
}
function f2():void{//do something}
function f3():void{//do something}
如果f2运行过长,f2还没有运行完f3就开始运行。
这是怎么回事?
有高人知道怎么解决吗。
(我试过在f2运行后,间隔x秒再执行f3,但是这样写总感觉有点不妥。。。哈哈)
[b]问题补充:[/b]
说一下我的实际设计内容吧,呵呵。
我的f2相当于调用了一个递归函数处理一个数据集合Array,
f3根据f2处理后的Array数据动态创建一个甘特图(这个过程有点慢)。
运行程序时,结果没有问题,f3是得到了f2处理后的数据。
由于动态创建的甘特图时间有点长,我想看看具体用了多少时间,然后想做一个
让用户等待的效果。
于是我就这样:
var a:Number= new Date().valueOf();
f2();
f3();
var b:Date = new Date().valueOf();
trace(b-a);
这时候问题就出来了啊,trace出来的毫秒数明显没有包括f3处理时间,晕。
这怎么办啊?本人接触flex时间不长,还请各位指教啊,哈哈。
"蔡华江":说的有理,f2方法实际上应该是处理完了才处理的f3。