2015-02-24 77 views
-2

我遇到了一个像这样的js采访问题:
有一个数组,其中的所有项都是函数,这些函数都需要ajax调用。编写一个函数来检测所有函数何时返回结果,并返回这些结果。 我没有看到原来的标题,所以我不能提供更多的信息,我知道它需要使用回调函数来计算解决问题,但我不知道如何编写代码,因为我不熟悉js,确实任何人都可以给我一些代码片段的想法? 谢谢!当一个数组的所有函数返回时检测:javascript

+0

检查:http://stackoverflow.com/questions/8567114/how-to-make-an-ajax-call-without-jquery – cch 2015-02-24 04:39:57

回答

0

请检查以下代码..你必须定义一个计数器和一个函数,每当函数完成ajax调用时它将被调用它将更新计数器并检查所有函数是否完成ajax调用。如果计数器=数组长度比它意味着所有函数完成他们的Ajax调用,不管他们的顺序。我无法为您提供jsfiddle链接,因为我无法在此代码中提及网址,因为跨网域ajax网址无效,因此您必须在您的网域上执行此脚本。

var counter = 0; 

function checkCounter() 
{ 
    if (counter == arr.length) 
     alert ("all functions executed from array"); 
} 


var arr = [ 
    function() { $.ajax({ url: ""}).done(function() { counter++; checkCounter() }); }, 
    function() { $.ajax({ url: ""}).done(function() { counter++; checkCounter() }); } 
]; 

for (var i=0; i<arr.length; i++) 
{ 
    arr[i](); 
} 
+0

谢谢!它帮助我很多。 – 2015-02-24 07:44:02

相关问题