又一个'同步FB apis'的帖子

时间:2011-06-24 10:17:01

标签: javascript algorithm facebook facebook-graph-api callback

我正在使用FB apis并且在使这段代码工作时遇到麻烦:

DoSomething()
{
    var validFriend = [];

    EnumerateFriends(function(result)
    {
        for every friend in result
        {
            QuerySingleFriend(result.friendId, function(result)
            {
                ...

                validFriend += thisguy;
                ...

            });
        }
    });

    writeout("Your valid friends are: "+validFriend);

}

EnumerateFriends(callback)
{
    FB.api("give me my friends", callback);
}

QuerySingleFriend(friendId, callback)
{
    FB.api("give me this guy", callback);
}

上面的伪代码非常简单明了,但由于fb apis回调函数的异步特性,“writeout”语句在所有内容完成之前执行。

关于如何同步这个的任何想法?我尝试使用全局变量但不是优雅也不是实用的解决方案

1 个答案:

答案 0 :(得分:0)

解决了连接和全局变量