JS方面中有A和B方法,B必须在A执行完之后才能执行,怎么保证呢?
1、首先设一个标志(isAFinish),用来标识A是否执行完。
2、B方法执行的时候,判断
var isAFinish=false;
var loadBCount=0;
function A(){
……
isAFinish =true;
}
function B(){
if(loadBCount>3){
return;
}
if(!isAFinish ){
loadBCount=loadBCount+1;
setTimeout("B()",180);
return;
}
……
}
是否为true,如果不为true,则setTimeout延迟执行B。
3、定义一个全局变量(bLoadCount),用来标识B方法的加载次数,如果超过最大次数,则不使用setTimeout()执行B