在javascript中维护变量外部函数的值?

时间:2012-06-05 22:47:56

标签: javascript

我尝试操作函数内的变量。但是一旦我退出函数,似乎忘记了值,尽管变量是在函数外部声明的。

基本代码:

var posts = {};                

            // Perform a data request
            // skjutsgruppens-page
            $.oajax({
                url: "https://graph.facebook.com/197214710347172/feed?limit=500",
                    *SNIP*
                    success: function(data) {
                    $.extend(posts, data);
                }
            });


            // Gruppen
            $.oajax({
                url: "https://graph.facebook.com/2388163605/feed?limit=500",
                *snip*
                success: function(data) {
                    $.extend(posts, data);
                }
            });

oajax从facebook检索数据。我想创建一个包含oajax方法数据的变量。

实际代码:http://eco.nolgren.se/demo/resihop/#

1 个答案:

答案 0 :(得分:2)

问题可能是success函数在将来的任意时间执行 - 除非您在知道 posts之后专门访问success函数已执行,您将收到未定义的结果,完全取决于函数和访问时间。

最好的方法是通过在success函数中进行必要的工作来正确处理这个问题,或者使用像jQuery的.when function这样的东西。