如何维护顺序jquery方法调用?

时间:2013-04-20 15:18:29

标签: jquery

我有一个三级jstree。在进行所有选择后,我调用displayCount()方法,根据选择显示正确的搜索结果计数。现在当我取消选中一个选项时,它会彻底检查所有节点以保持正确的选定结构,然后它应该调用displayCount()方法。但问题是它在取消选中nodes之前已经调用了displayCount()方法。我得错了。方法调用的顺序如下: -

      UnchekSelectedNodes(){
          // nodes are getting unchecked depends on parent-child relation.
          // purely DOM structure update operation. 
       }

      displayCount(){
         // ajax call to show proper count based on selected nodes/checkboxes
      }

      checkForEmptyDiv(){
         // if it becomes no selected hide the div.
      }

问题是..总是在完成UnchekSelectedNodes()操作之前调用displayCOunt()。我尝试使用方法chainng取决于flag.It不起作用。

任何解决方案??

1 个答案:

答案 0 :(得分:0)

你可以在setTimeout中完成...

当我懒惰并且事情以错误的顺序发生时,我只是添加一个超时为1的setTimeout,然后调用所有其他调用并在此之后超时。

UnchekSelectedNodes(){
          // nodes are getting unchecked depends on parent-child relation.
          // purely DOM structure update operation. 
       }

      displayCount(){
         setTimeout(function() {
            //just do what ever you want.
         }, 1);
      }

      checkForEmptyDiv(){
         // if it becomes no selected hide the div.
      }