gpt4 book ai didi

javascript - 在我调用从函数返回的数组后,它给了我 "undefined"

转载 作者:行者123 更新时间:2023-12-02 18:47:09 26 4
gpt4 key购买 nike

我调用 facebook fql 来获取群组的所有成员。如果我检查第一个函数中的所有成员,它工作得很好,但是当我在第二个函数中调用它时,返回“未定义”。

function getAllMembers(groupid){
var allmembers = new Array();
var content = document.getElementById('content-text');
FB.api({
method: 'fql.query',
query: 'select uid from group_member where gid =' + groupid
},
function(resp){
for (var i=0, l= resp.length; i<l; i++)
{
allmembers[i] = resp[i].uid;
}
return allmembers;
}
)
}

function retrieveMessages(groupid){
var allmembers;
allmembers = getAllMembers(groupid);
console.log(allmembers);
}

我不明白哪里出了问题。

最佳答案

看起来 getAllMembers() 正在使用 FB API 进行异步函数调用,这意味着 getAllMembers() 在FB调用完成。

您需要使用回调函数来解决这个问题,如下所示

function getAllMembers(groupid, callback){
var content = document.getElementById('content-text');
FB.api({
method: 'fql.query',
query: 'select uid from group_member where gid =' + groupid
}, function(resp){
var allmembers = new Array();
for (var i=0, l= resp.length; i<l; i++)
{
allmembers.push( resp[i].uid);
}
callback(allmembers)
})
}

function retrieveMessages(groupid){
getAllMembers(groupid, function(allmembers){
console.log(allmembers);
});
}

关于javascript - 在我调用从函数返回的数组后,它给了我 "undefined",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16251283/

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