在 FB.api 函数上设置值后变量为空
Variable is null after setting value on FB.api function
我正在尝试获取用户区域设置并将其保存在一个变量中。
function myFunction() {
var userLocale;
FB.api(
"/{userID}",
function (response) {
if (response && !response.error) {
userLocale = response.locale;
}
}
);
}
当我将 userLocale
设置为函数值时,console.log(userLocale);
returns undefined
.
myFunction
在检查用户是否有权访问我的应用程序后调用。
您可能在设置 userLocale 变量的回调函数之前调用 console.log
。在 Facebook 响应之前,您传递给 FB.api()
的函数不会被调用。您用于验证 userLocale 是否具有值的代码应如下所示:
function myFunction() {
var userLocale;
FB.api(
"/{userID}",
function (response) {
if (response && !response.error) {
userLocale = response.locale;
// Wait until I get an FB response before printing userLocale.
console.log(userLocale);
// Anything that requires userLocale goes here, not outside the FB.api() call.
}
}
);
}
我正在尝试获取用户区域设置并将其保存在一个变量中。
function myFunction() {
var userLocale;
FB.api(
"/{userID}",
function (response) {
if (response && !response.error) {
userLocale = response.locale;
}
}
);
}
当我将 userLocale
设置为函数值时,console.log(userLocale);
returns undefined
.
myFunction
在检查用户是否有权访问我的应用程序后调用。
您可能在设置 userLocale 变量的回调函数之前调用 console.log
。在 Facebook 响应之前,您传递给 FB.api()
的函数不会被调用。您用于验证 userLocale 是否具有值的代码应如下所示:
function myFunction() {
var userLocale;
FB.api(
"/{userID}",
function (response) {
if (response && !response.error) {
userLocale = response.locale;
// Wait until I get an FB response before printing userLocale.
console.log(userLocale);
// Anything that requires userLocale goes here, not outside the FB.api() call.
}
}
);
}