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;
- }
- ……
- }
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
本文介绍了一种确保JavaScript中方法B在方法A完成后执行的技术。通过设置一个布尔标志来跟踪A的状态,并利用setTimeout递归调用B,直到A完成。同时限制了B的最大尝试次数。

211

被折叠的 条评论
为什么被折叠?



