我有一個簡單的問題,一直在堆棧溢出搜索有關於這個主題的一些問題,但不能得到一個工作解決方案。從回調函數中獲取FB.api的值?
我有獲得網頁數的簡單功能,喜歡的JavaScript SDK:
function getLikes(div, graf) {
var numblike;
FB.api(graf, function(response) {
var numblike = response.likes;
$(div).prepend(numblike);
});
return numblike; // can't get it to return
}
var pLike = getLikes ("#mydiv", /app_id); // always undefined
功能運作以及預暫時擱置權數,以我的格但回報總是將我的變量爲未定義。我知道腳本運行異步,我需要使用回調函數,但是我無法正確理解它。
在函數內部警報之前太工作。這裏的目標是調用這個函數,並讓頁面喜歡全局變量,數組更精確。所以我可以從幾個不同的fb頁面獲得頁面喜歡,將它們存儲在一個數組中,然後將它們總結在一起。所以我會需要'var pLikes = getLikes(etc ...)'返回一個數字,然後全局性地使用...在你的情況下,我得到警報但var仍未定義。 – 2013-03-20 20:55:53
好吧。這只是一個例子,你可以如何控制你的變種jeezes。 這裏的關鍵是你可以通過回調來訪問從facebook的麻木狀態。所以你可以設置var arr = [];上面和裏面的回調,而不是警報(麻木),你可以做arr.push(麻木); 。使用你的編程技能有點... – Adidi 2013-03-20 21:01:02
謝謝你對此的意見,但我無法按照我想要的方式工作。切換到FB PHP SDK並在幾分鐘內解決了問題... – 2013-03-27 14:06:19