這是一個相當普遍的問題,我在這裏,所以我想我會問,希望有人可以幫助我。Facebook API JavaScript未定義
我使用Facebook JS橋登錄Flex應用程序,而我試圖通過用戶名恢復爲應用程序,但我對面,我將代碼後解釋的事情來:
function getFriends() {
var nameOfPlayer = "";
FB.api('/me', function(response) {
nameOfPlayer = response.name;
});
return nameOfPlayer;
}
如果我有我的flex應用程序打印nameOfPlayer,它會返回undefined,就像我使用nameOfPlayer執行警報一樣,但是如果我在FB.api調用nameOfPlayer內部發出警報,那麼它會彈出我的名稱,但它仍然不會返回名稱。我試着讓它返回一個通用字符串,並且工作,所以它傳遞的信息,它只是不保存到變量。任何想法如何解決這個問題?這可能是非常複雜的,所以如果我需要澄清任何事情讓我知道。預先感謝您給我的任何幫助:)
謝謝你,這就是我的想法是怎麼回事,因爲我看到別的某個地方,但我不知道如何解決它,如果你不介意我問,你如何建議在回調中做所有事情? –
是的,使用nameOfPlayer變量的最可靠的方法是在回調中。如果你不想在該函數中插入太多的邏輯,你總是可以將nameOfPlayer變量傳遞給另一個函數,但是你仍然需要從回調函數中調用該函數,以保證它的正確定義。 – Adam