gpt4 book ai didi

由于异步函数,javascript 无法为变量赋值。

转载 作者:行者123 更新时间:2023-11-30 17:55:07 24 4
gpt4 key购买 nike

在我下面的 JavaScript 代码中,我无法让 user_likes 获取 response 的值。我可以控制台输出“响应”,它有我需要的值。但是,当我尝试控制台输出 user_likes 时,我得到了未定义。给了什么?

function fqlUserLikes(user_id) {
var user_likes;
FB.api(
{
method: 'fql.query',
query: 'SELECT page_id,name,type FROM page WHERE page_id IN (SELECT page_id FROM page_fan WHERE uid=' + user_id + ')'
},
function(response) {
user_likes=response;
}
);
Console.log(user_likes);
return user_likes;
}

感谢您的帮助,在。

最佳答案

您的方法是异步的,因此当您尝试记录并返回变量时,它实际上还没有被分配。采取以下片段:

//Do what you need to do in here!
function(response) {
user_likes=response;
});

//The below code is executed before the callback above.
//Also, it should be console, and not Console. JS is case sensi.
Console.log(user_likes);
return user_likes;

关于由于异步函数,javascript 无法为变量赋值。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18195754/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com