Facebook数据导入导致"以下的价值刚刚被评估"

时间:2017-09-13 11:10:18

标签: javascript facebook facebook-graph-api

我正在尝试使用他的FB帐户登录后在侧栏上显示用户的个人资料图片。显然,数据是从Facebook加载但在页面初始化之后。因此,图像不会按我的意愿显示。我得到的只是空缩略图。

在控制台中,我得到:Value below was evaluated just now

在下面,我可以看到所有需要正确加载但未显示的数据。在.html部分"脚本"我用:

function getFBData () {
    FB.api('/me', function (response) {
        fbinfo = new Array();

        var im = document.getElementById("profileImage").setAttribute("src", "http://graph.facebook.com/" + response.id + "/picture?type=normal?callback=?");
    });
   public var id = response.id;
    public var first_name = response.first_name;
    public var last_name = response.last_name;
    var email = response.email;

}

在component.ts文件中,我实现了console.log(this.userDetails);

1 个答案:

答案 0 :(得分:0)

FB.api是异步的,您只能访问回调函数中的响应:

function getFBData () {
    FB.api('/me', (response) => {
        document.getElementById("profileImage").setAttribute("src", "http://graph.facebook.com/" + response.id + "/picture?type=normal");
        const id = response.id,
            first_name = response.first_name,
            last_name = response.last_name,
            email = response.email;
    });
}

此外,使用箭头函数和const更新代码(因为它是2017年)。 :)