2016-03-26 52 views
1

在我的代碼:foreach循環等到每個步驟每個功能完成

jQuery.each(data.modules, function(key, value) {  
     doSomethingLong(value); 
}) // end each 

function doSomethingLong(value) { 
    //some ajax calls 
}; 

在這種情況下,所有的功能doSomethingLong()運行一次。

我需要等到doSomethingLong(值)在每一步返回true/false

我怎樣才能得到它在JavaScript或jQuery?

+1

請參閱:http://stackoverflow.com/questions/13059000/asyn-foreach-in-jquery –

回答

0

只是試試這個

data.modules.forEach(function(value){ 
    doSomethingLong(value); 
}); 

基本上data.modules是一個數組,你可以使用迭代方法forEach

+0

那麼簡單?!多謝! – Martin

+0

obj.forEach和jQuery.each有什麼區別,我認爲這兩個函數沒有等功能完成?我的問題是在doSomethingLong()中排序另一個對象中的項目時,但函數如何定位調用,而不是按照它的啓動順序。 – Martin

+1

@Martin沒什麼差別。只是回調處理程序參數是不同的,它的返回值。 – gurvinder372