0

我试图通过将用户 ID 作为参数提供给 FB.api 方法来获取特定用户的用户名。但它只是返回未定义。如果我在 FB.api 方法中使用 console.log,我可以看到结果。想不通。

var something;
var friendName = FB.api('/{{ user id }}', function(give){ something = give.name; });
console.log(something);
4

3 回答 3

2

如果我在 FB.api 方法中使用 console.log,我可以看到结果。

该方法是异步的,这意味着当您执行以下行(记录到控制台)时,服务器端调用的答案尚不存在 - 因此回调函数尚未执行,因此它尚未设置var在那一点上

您应该熟悉 javascript 中异步执行的基础知识!

于 2012-06-11T07:47:17.180 回答
0

您可以改用此 php 代码

        <?php
        $username=$facebook->api('/user_id?fields=username');
        //with appropriate access tokens
        ?>
于 2012-06-11T09:55:44.120 回答
0

将函数console.log放在里面callback

于 2012-07-18T09:27:41.870 回答