2012-09-29 56 views
0

我正在使用開放圖API並嘗試通過結果回調運行每個循環。jquery如何知道每個循環何時完成

我需要知道什麼時候循環完成,所以我可以運行'成功'功能。

我認爲這將比較結果長度與索引,但我沒有運氣一樣容易。

這樣做的最好方法是什麼?

function authSuccess() { 
    FB.api('/me/friends', function (result) { 
     if (result.data) { 
     var l = result.data.length; 
     $.each(result.data, function (index, friend) { 
       if(l > index){ 
         //do stuff 
       }else{ 
        //go to success 
        } 
      }); 
     } else { } 
    }); 
} 

感謝您的幫助

+1

我想你可能需要一個像遞延['$。當()'](HTTP: //api.jquery.com/jQuery.when/),如果這些是異步調用。 –

回答

2

這應該做到這一點:

$.each(result.data, function (index, friend) { 
//do your work 
}); 
//go to success 
+1

我剛剛想過這個嗎?我遠離我的電腦,所以我現在不能測試,但哇...我忽略了那一個..每個人都是同步動作... –

+1

是...過度思考有時可能是一個問題 - 同時採取正常剎車編程;) –

0
function authSuccess() { 
    FB.api('/me/friends', function (result) { 
     if (result.data) { 
     var len=0; 
     $.each(result.data, function (index, friend) { 
       if(!result.data[len+1]){ 
//go to success      

       }else{ 
        //do stuff 
        } 
len++; 
      }); 
     } else { } 
    }); 
}