2015-02-24 64 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

相關問題