在我遇到的这个很小的问题上,我花了 1.5 个小时来解决这个问题。情况:文件 A -> 请求文件 B,如果文件 B 返回 true,则用户已注册,不需要添加到我们的数据库中。如果为 false,则用户已登录 Facebook,但之前从未登录 -> 添加到数据库。
我的问题:FB.api() 由于异步调用而阻止我的函数返回 true。
function registered(){
FB.api('/me', function(response) {
$.ajax({
async: true,
url: "facebook-sdk/src/check.php",
type: "POST",
data: {id: response.id},
success: function(data) {
if(data=='true'){
return true;
}else{
return false;
}
}
});
});
}
我对函数的调用:
if(registered())
alert('true');
else
register();