javascript - 无法使用 js 类获取 FB.api 响应

标签 javascript facebook

这是我的代码:

function User() {
    var self = this;

    FB.api(someurl, function (response) {

        self.id = response.id;

    });
}

我无法像这样获取 id:

var user = new User();
console.log(user.id);

最佳答案

FB.api 是一个带有回调的异步函数。当您读取 user.id 时,回调函数尚未被调用。

也许您应该将异步初始化移出构造函数,添加显式的“init”函数:

function User() {
    var self = this;

    this.init = function(onCompletion) {
        FB.api(someurl, function (response) {
            self.id = response.id;
            if (onCompletion) onCompletion();
        });
    }
}

var user = new User();
user.init(function(){
    console.log(user.id);
});

关于javascript - 无法使用 js 类获取 FB.api 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35312346/

相关文章:

javascript - D3 - 获取当前时间并减去 2 小时

javascript - 光标X未定义(..)

cakephp - 如何使用 facebook 连接 cakephp?

Facebook Id 将保持不变或在未来发生变化

javascript - 来自 Youtube API v3 的内容详细信息、持续时间和统计信息的问题

javascript - 客户端 JS/Angular 中是否存在 HTTP 连接超时?

ios - 无法打开 session 或将帖子发布到 Facebook

html - 带有 Turbolink 的 Facebook Twitter 按钮

facebook - 如何通过 ffmpeg 在 facebook 上直播?

javascript - 将 rowdatapacket 转换为数组,如何将 mysql node.js api rowdatapacket 转换为数组,字符串转换为数组