2013-06-28 118 views
0

因此,我使用下面的代碼首先獲取用戶朋友,然後使用用戶朋友ID生成共享朋友的數量。清楚地遍歷所有的朋友並且每次比較它都是一個漫長的過程,但它很有用。但是,該頁面需要一段時間才能加載。如何減少所需時間或優化以下代碼?使用Facebook Graph API獲取共同朋友的數量

function getFriends() 

    { 
     FB.api('/me/friends', function(response) { 
     friendCount = response.data.length; 
     $("h2").append(friendCount+ ' friends'); 
     if(response.data) { 
     $.each(response.data,function(index,friend) { 
      FB.api('/me/mutualfriends/'+friend.id, function(mutualfriends) { 
      $("#results").append('<ul><li>' + friend.name + ' has id:' + friend.id + ' has mutual friends: ' + mutualfriends.data.length + '</li></ul>'); 
      $("#results").append('<img src="http://graph.facebook.com/' + friend.id + '/picture" />'); 
      }); 

     }); 
    } else { 
     console.log("Error!"); 
    } 
    }); 
    } 

回答

7

我知道這是一個非常古老的問題,但我仍然會爲可能最終在此尋找的人添加此答案。
這是一種使用FQL獲得共同朋友數量的優化方法。

select mutual_friend_count,uid,name from user where uid in 
(select uid2 from friend where uid1=me()) order by mutual_friend_count desc 
+0

+1正好我需要!這個答案應該被接受。 –

相關問題