Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript FB.api未返回用户名_Javascript_Facebook - Fatal编程技术网

Javascript FB.api未返回用户名

Javascript FB.api未返回用户名,javascript,facebook,Javascript,Facebook,我试图通过将用户id作为FB.api方法的参数来获取特定用户的用户名。但它只是返回未定义的。如果我在FB.api方法中使用console.log,我可以看到结果。无法理解 var something; var friendName = FB.api('/{{ user id }}', function(give){ something = give.name; }); console.log(something); 如果我在FB.api方法中使用console.log,我可以看到结果 该方法是

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

var something;
var friendName = FB.api('/{{ user id }}', function(give){ something = give.name; });
console.log(something);
如果我在FB.api方法中使用console.log,我可以看到结果

该方法是异步的,这意味着当执行以下行(登录到控制台)时,服务器端调用的答案还没有出现,因此回调函数还没有执行,因此它没有在该点设置var


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

您可以改为使用此php代码

        <?php
        $username=$facebook->api('/user_id?fields=username');
        //with appropriate access tokens
        ?>


控制台.log
放在
回调
函数中。

那么如何确保执行了某些操作?您可以在回调函数中包装您想要执行的任何操作。让我重复一遍:您应该熟悉javascript中异步执行的基础知识@CBroe你听起来就像我的上司……虽然你没有在黑体字结尾加上“句号”。你能帮阿米特找到一条帮助他进步的道路吗?对但是你呢?不。你的回答帮了大忙,但我的主人,态度已经踏上了许多人的道路。不要在你的帖子上每行都缩进。缩进用于呈现代码块。