仅在前一个完成时调用功能

时间:2016-02-18 09:19:20

标签: javascript function call

我有几个Javascript函数和一个按钮可以一起触发它们。某些功能取决于先前功能生成的内容。我遇到的问题是某些功能未被触发或正确运行,因为前一个功能尚未完成(大多数是ajax调用)。那么如何确保在前一个函数完成时触发一个函数?

我在这里找到的主题很复杂,我无法理解,或者只是没有给我答案。

function CallAllFunctions(){
    function1();
    function2();
    function3();
}

非常感谢你!

3 个答案:

答案 0 :(得分:0)

试试这个

解决方案1 ​​

function function1(){
   // some code

}

function function2(){
   // some code
}

$.ajax({
   url:function1(),
   success:function(){
   function2();
}
})

第二个解决方案

$.when( function1() ).done(function() {
       function2();
});

查看this

答案 1 :(得分:0)

您可以在函数

之后调用回调函数



function myDinner( param1, param2, callbackFunction ) { 
  alert( 'Started eating my dinner. \n\n It has: ' + param1 + ', ' + param2); 
  callbackFunction ();
 }
myDinner ( 'Rice', 'Curry', function() { alert( 'Finished eating my dinner.' ); });




This link will be helpful.

答案 2 :(得分:0)

如果每个function都是单独的AJAX请求,您可以设置请求链并等待每个function成功执行。