gpt4 book ai didi

javascript - 如何在 facebook init 函数 javascript 中设置标志?

转载 作者:行者123 更新时间:2023-12-02 19:13:54 27 4
gpt4 key购买 nike

我有一个示例代码:

function initFB() {
var flag;
window.fbAsyncInit = function() {
FB.init({appId: 'zzzzzz', status: true, cookie: true, xfbml: true});

var flag;
FB.getLoginStatus(function(response) {
if (response.status === 'connected') {
flag = 1;
} else if (response.status === 'not_authorized') {
flag = 2;
} else {
flag = 3;
}
});
};
return flag;
}

var flag = initFB();
alert(flag);

=> 结果是未定义,无法在facebook函数中设置标志?,如果没有,如何修复?

最佳答案

我建议您使用回调(可能是匿名),因为函数 fbAsyncInitgetLoginStatus 函数都是异步的(这意味着它们赢得了不会立即返回某些内容 - 他们必须先调用 facebook,然后调用自己的回调(function() { 部分)。

function initFB(callback) {
window.fbAsyncInit = function() {
FB.init({appId: 'zzzzzz', status: true, cookie: true, xfbml: true});

FB.getLoginStatus(function(response) {
var flag;
if (response.status === 'connected') {
flag = 1;
} else if (response.status === 'not_authorized') {
flag = 2;
} else {
flag = 3;
}
callback(flag);
/* This will call the anonymous function specified as
"callback" with a parameter of whatever is in the
"flag" variable. */
});
};
}

/* Here we use an anonymous function as a callback of
when getLoginStatus has gotten it's return value */
initFB(function(flag) {
alert(flag);
});

关于javascript - 如何在 facebook init 函数 javascript 中设置标志?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13358514/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com