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