现在我的JS文件中有两个写好的函数
List.doRefresh();
List.doSelectedAll();因为前一个函数执行可能在一个时间片中不能完成怎么样才能让它将第一个函数执行完毕后再执行第二个函数  在不更改这两个函数的前提下也不用设定时间类似setTimeout setInterval的
希望大家能指点我一下

解决方案 »

  1.   

    List.doRefresh();doRefresh(){
    /dosomething
    List.doSelectedAll();
    }
      

  2.   

    可以加个If判断doRefresh()函数的返回值;如果是执行完doRefresh()得到的返回值就执行第二个函数
      

  3.   

    List = {
        doRefresh:function(callback){
            ajaxsuccess->callback();
        },
        doSelectedAll:function(){
        }
    }
    List.doRefresh(function(){
        List.doSelectedAll();
    });
      

  4.   

    如果List.doRefresh()这个方法里面没有用到Ajax,这样写就可以了。如果用到了Ajax,并且List.doSelectedAll()里面要用到Ajax的结果,那就只能在List.doRefresh()的Ajax请求完成时触发List.doSelectedAll()。
    或者极端一点,定义一个变量用来标识List.doRefresh()是否已经执行完成,做个定时器去触发List.doSelectedAll(),直到标识变量的值被更改。
      

  5.   

    谢谢大家的指点最后 我还是重新写了个函数解决的这里面是有Ajax调用的