0
嗨,我正在使用React在我的網站上實現FB登錄流。當按鈕被點擊時,它會調用一個啓動登錄流程的外部JS文件。我的問題是我需要傳回true/false來查看它們是否成功登錄並呈現反應組件,但JS函數立即返回undefined或false,而不是等待FB Api調用。該功能看起來像這樣Javascript函數不等待FB Api返回前評估
login: function(){
console.log('login');
FB.login(function(response){
if(response.authResponse){
return(externalScriptThatImIn.checkLoginStateStarter());
}
},{scope:"public_profile,email"});
},
然後調用的函數返回另一個函數,最終進入返回true或false根據他們是否得到了登錄,但即使我說返回true;在FB.login調用中,它不會等待它在返回之前進行評估,而只是返回undefined。無論如何強迫它等待?
http://stackoverflow.com/questions/14220321/how-to-return-the-response-from-an-asynchronous-call/14220323# 14220323 – Teemu