parse.com从查询中获取数据到变量外部成功函数

时间:2013-10-19 09:05:02

标签: javascript callback parse-platform

我是一个尝试学习parse.com api的新手。我可以查询我的数据库,我可以使用成功处理程序中的查询结果。但是,我无法将数据转换为此外的变量。我认为这是因为它正在调用服务器,如果我尝试将它分配给查询函数之外的变量,查询代码在我尝试使用查询函数之外的变量之前没有执行。 / p>

更具体:我如何获得警报(bitOfData);在myObj被分配给bitOfData之后执行。

function getData(){
        var bitOfData = "";
        var DB = Parse.Object.extend("DB");
        var query = new Parse.Query(DB);
        query.equalTo("name", "myDatabase");
        query.find({
          success: function(results){
                   object = results[0];       
                   //alert(object.id);
                   var myObj = object.id;
                  alert(myObj);
                                  bitOfData = myObj;
                   },
          error: function(error){
                 alert(error.code);}
          });

    alert (bitOfData);   




}

getData();

1 个答案:

答案 0 :(得分:1)

问题是代码是异步的,对find(..)的调用只是让它开始运行。

我最近听到的一个很好的例子就是煮鸡蛋。你打电话给find(..)就像是煮鸡蛋一样煮沸并设置完成时的警报(success功能)。一旦煮沸,你就可以在厨房做其他事情了。

如果您希望在完成后发生其他事情,则需要将该代码添加到success处理程序。

更高级的主题是使用“承诺”,parse.com博客上有一个blog post来解释它。