parse.com连续数据库查询

时间:2013-01-08 04:40:32

标签: backbone.js parse-platform

我想对数据库运行两个查询 - 或者连续使用parse.com使用的任何查询。

所以我有:

var query = Parse.Query("table1");
....

var query2 = Parse.Query("table2");
...

第一个查询只是检查一些东西以确保请求的一切正常 - 设备版本是正确的等等。 第二个问题是整个练习的实际要点。

因为第一个查询被要求几乎所有我正在使用的函数,所以我想将它分开。我真的不想继续为每个函数定义它,然后再调用第二个查询 - 这是重复和愚蠢的。

是否有一些优雅的方式 - 即不在布尔值上徘徊并在第一个查询的成功方法中将布尔值设置为true - 连续运行两个查询?

1 个答案:

答案 0 :(得分:2)

我将查询分成两个函数,

function1(){
    var query = Parse.Query("a");
    ...
}

function2(){
    var query = Parse.Query("b");
    ...
}

然后从function1()的成功中我调用function2 - 或者说,我调用一个给定的参数(假设它没有未定义!)

function function1(onSuccess){
    var query = Parse.Query("a");
    query.first("c");
    query.find(){
        success : function(){
            doCoolThings();
            if (onSuccess != null){
                 onSuccess(); 
            }
        },
        error: function (){ } 
    }
}

现在我有一个可以重复使用的组件,我可以按照我认为合适的方式使用它!

BONUS:如果function2需要参数怎么办?

原来如此!在调用这两个函数的main函数中,我们有:

Parse.Cloud.define("myCoolFunction",function(request,response){ 
    var onSuccessCall = function(){ function2(request, response); };
    function1(request,response,onSuccessCall);
});

function function2(request, response){ ... }

如上所述定义了function1。