首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >JavaScript:更新外部函数的值

JavaScript:更新外部函数的值
EN

Stack Overflow用户
提问于 2014-06-02 03:43:07
回答 1查看 33关注 0票数 0

我知道现在是周日晚上,你们中的大多数人会有更好的想法去做,但我的一个朋友一直问我要一个应用程序来分析参加他活动的“派对人士”……

作为应用程序的一部分,他向我要了一种用于营销的“女孩百分比”计算器;)

由于Facebook通过Graph API提供对用户数据的访问,因此我使用此代码检索1000个用户的性别,以计算百分比。

代码语言:javascript
运行
复制
function getGender(userID) {
    var userGender = "";
    FB.api(
        '/' + userID,
        function (response) {
            if (response && !response.error) {
                userGender = response.gender;
                console.log(userGender);
            }
        }
    );
    return userGender;
}

但是JS函数不返回任何值,除了空字符串...那么如何让JS正确赋值呢?

EN

回答 1

Stack Overflow用户

发布于 2014-06-02 03:52:25

问题是,您需要调用Facebook API。你的响应是异步的,返回函数后就不存在了。你的函数的第二个参数是一个回调-你的函数应该在回调或返回承诺中做所有的操作(在这个例子中,使用Q库):

代码语言:javascript
运行
复制
var deferred = Q.defer();

    FB.api('/'+userID, function(response)
    {
     deferred.resolve(response) 
    });

    return deferred.promise;

关于这个主题的好幻灯片:http://www.slideshare.net/async_io/javascript-promisesq-library-17206726

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23983745

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档