Javascript 完成FB.getLoginStatus后,我想返回一个信息数组

Javascript 完成FB.getLoginStatus后,我想返回一个信息数组,javascript,facebook,asynchronous,facebook-javascript-sdk,facebook-login,Javascript,Facebook,Asynchronous,Facebook Javascript Sdk,Facebook Login,这是我第一次使用FB-Dev-JS,有点挣扎 目前,当我试图返回一组数据时,我一直在使用警报进行测试 当我向数组中的某个项目发出警报时,该警报会在FB.getLoginStatus函数末尾的警报之前出现 我无法确定如何将回调添加到此函数 如何从FB.getLoginStatus返回数据 目前我的设置如下: window.fbAsyncInit = function() { FB.init({ appId : '514297358660223', oau

这是我第一次使用FB-Dev-JS,有点挣扎

目前,当我试图返回一组数据时,我一直在使用警报进行测试

当我向数组中的某个项目发出警报时,该警报会在FB.getLoginStatus函数末尾的警报之前出现

我无法确定如何将回调添加到此函数

如何从FB.getLoginStatus返回数据

目前我的设置如下:

window.fbAsyncInit = function() {
    FB.init({
        appId   : '514297358660223',
        oauth   : true,
        status  : true, // check login status
        cookie  : true, // enable cookies to allow the server to access the session
        xfbml   : true // parse XFBML
    });

    // AFTER FB INIT
    // Get the status of the user
    var arrStatus = facebookLoginStatus();
    // IF the user is authorized, check to see whether they have voted.
    //alert(arrStatus[0]);
    if(arrStatus[0] != "error")
    {
        console.log("Check to see if they have voted");
        checkRegisteredVote(arrStatus[0]);
    }
    //
};

// Load the SDK Asynchronously
    (function(d){
    var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
    if (d.getElementById(id)) {return;}
    js = d.createElement('script'); js.id = id; js.async = true;
    js.src = "//connect.facebook.net/en_US/all.js";
    ref.parentNode.insertBefore(js, ref);
    }(document));
// END ::: Load the SDK Asynchronously

    function facebookLoginStatus()
{

    var userarr     = new Array(); 
    var strStatus   = "";
    var intUID      = 0;

    FB.getLoginStatus(function(response) 
    {
        alert(response.status);
        if (response.status === 'connected')
        {
            strStatus   = "connected";
            intUID      = response.authResponse.userID;
            accessToken = response.authResponse.accessToken;
            userarr[0]  = userID;
            userarr[1]  = accessToken;
        }
        else
        {
            strStatus   = "not connected";
            userarr[0]  = "error";
            userarr[1]  = "not connected";
        }   


    }, true);

    alert(userarr[0]);

    return userarr;
}
任何帮助都将不胜感激。

你应该搬家

 alert(userarr[0]);
上面3行-内部响应功能:

function(response) 
{
        if (response.status === 'connected')
        {

        }
        else
        {

        }   

        alert(userarr[0]);
}
而且,这意味着

return userarr;
错误-它将返回尚未初始化的内容。相反,在alertuserarr[0];,您应该调用另一个函数,将userarr作为参数传递