我想对数据库运行两个查询 - 或者连续使用parse.com使用的任何查询。
所以我有:
var query = Parse.Query("table1");
....
var query2 = Parse.Query("table2");
...
第一个查询只是检查一些东西以确保请求的一切正常 - 设备版本是正确的等等。 第二个问题是整个练习的实际要点。
因为第一个查询被要求几乎所有我正在使用的函数,所以我想将它分开。我真的不想继续为每个函数定义它,然后再调用第二个查询 - 这是重复和愚蠢的。
是否有一些优雅的方式 - 即不在布尔值上徘徊并在第一个查询的成功方法中将布尔值设置为true - 连续运行两个查询?
答案 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。