I have a plugin on my website that gets a user's Facebook login status. Using my own function facebookStatus()
I want to return the user's Facebook ID. So far I have tried three approaches:
1.
console.log(facebookStatus()); // Should show the Facebook ID in the console
function facebookStatus() {
facebookConnectPlugin.getLoginStatus(function(response) {
var result = response.authResponse.userID;
}, function(error) {
var result = error;
});
return result;
}
this yields
Uncaught ReferenceError: result is not defined
I am guessing this is due to the asynchronous nature of getLoginStatus()
.
2.
function facebookStatus() {
facebookConnectPlugin.getLoginStatus(function(response) {
return response.authResponse.userID;
}, function(error) {
return error;
}).then(function(response) {
result = response;
});
return result;
}
Uncaught TypeError: facebookConnectPlugin.getLoginStatus(...).then is not a function
3.
facebookStatus().then(function(response) {
console.log(response);
});
function facebookStatus() {
return facebookConnectPlugin.getLoginStatus(function(response) {
return response.authResponse.userID;
}, function(error) {
return error;
});
}
Uncaught TypeError: facebookStatus(...).then is not a function
PS: I am using jQuery, if it helps.