有两个函数function f1(){},function f2(){};想要f1里的代码都走完再执行f2
1、如果f1中没有异步操作,像是没有setTimeout,直接f1()f2()就可以,可以按照顺序执行
2、如果f1中有像setTimeout的异步操作,(额,照理说setTimeout也不算是异步操作,反正就是有时间延迟的),使用1中的方式,在f1没有执行完就会执行f2中的代码,这时候就需要有一个判断。根据实际情况吧,我遇到的是,先要执行完ul li里的点击事件才能再执行f2,也就是在f1中调用f2
在另一个函数的末尾,执行另一个函数。
例如:
1、定义另个函数
function T1(){//定义一个函数T1
}
function T2(){//定义另一个函数T2
}
2、T1执行完后执行T2函数
第一种方式:按顺序执行
T1();
T2();
第二种方式:T1内部执行T2
function T1(){
...函数其他语句
T2();//在最后执行T2函数
}
var isReturn = false;
//比如这是那一段函数
fn(){
//xxxxxxxxxxxxxxxxx
//完事你给他为true
isReturn = true;
}
setInterval(function(){
if(isReturn == true){
//这里已经运行完毕了
}
},500)
函数同步,或者某函数执行成功得到其标识再去执行下一个函数。