Javascript SDK : can i have another FB. FB.api() 内的 api() 调用

标签 javascript facebook facebook-javascript-sdk

// count total no. of groups created by me
function totalGroups(response) {
    FB.api('/me/groups', {fields:'owner'}, function(g_response) {
        for (i in g_response.data) {
            FB.api('/me', function(m_response) {
                var c = 0;
                if (g_response.data[i].owner.name == m_response.name) {
                    c++;
                }
            });
        }
        console.log('Total:' +c);
  });
}

嗨,我可以像在上面的代码中那样在 FB.api() 中进行另一个 FB.api() 调用吗,因为我无法获取 if (g_response.data[i].owner) 的值.name == m_response.name)

最佳答案

是的,您可以将 FB.api() 调用嵌入到另一个 Fb.api() 调用中,但由于 FB.api() 调用是异步的,因此可以保证流程。 我在您的代码中发现的一个问题与 var c 有关。 首先,它超出了 console.log('Total:' +c) 方法的范围,而且您已在循环内声明它,这意味着它的值将在每次循环执行后重置。

试试这个:

// count total no. of groups created by me
function totalGroups(response) {
    var c = 0;
    FB.api('/me/groups', {fields:'owner'}, function(g_response) {
        for (i in g_response.data) {
            FB.api('/me', function(m_response) {               
                if (i.owner.name == m_response.name) {
                    c++;
                }
            });
        }
        console.log('Total:' +c);
});
}

关于Javascript SDK : can i have another FB. FB.api() 内的 api() 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16132532/

相关文章:

javascript - 如何使用 Facebook Login 和 ReactJS 实现登录和注销?

JavaScript 代码到类图

javascript - 按 html 按钮时在后台运行终端命令

javascript - 在 Javascript 中添加数组对象中对象的值

facebook - 使用 RestFB API 获取 FB 页面上帖子的点赞数

facebook - iOS 11 正在移除原生 facebook 集成。那么,使用当前 facebook sdk 的应用程序将无法在 iOS 11 上运行?

javascript - 如果 Facebook 被禁止访问网络,则无法加载页面

javascript - 如何使用 JavaScript 获取和显示 JSON API 数据

ios - 检查是否安装了Facebook,LinkedIn,Gmail应用程序

ios - 保持 Phonegap-Facebook-Plugin/Facebook JS api 用户登录到应用程序的正确方法?