1

データベースに対して2つのクエリを実行したいと思います-またはparse.comが使用するものは何でも-連続して実行します。

ので、私は持っています:

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

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

最初のクエリは、デバイスのバージョンが正しいことなど、すべてが要求に問題がないことを確認するためにいくつかのものをチェックするだけです。2 番目のクエリは、演習全体の実際のポイントです。

最初のクエリは、私が使用しているほぼすべての関数に対して要求されるため、個別に保持したいと思います。関数ごとにそれを定義し続けてから、2番目のクエリをサブコールすることは本当にしたくありません-それは反復的で愚かです。

2 つのクエリを連続して実行するための洗練された方法はありますか?

4

1 に答える 1

2

クエリを 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 (){ } 
    }
}

これで、必要に応じて使用できる再利用可能なコンポーネントができました。

ボーナス: function2 にパラメーターが必要な場合はどうなりますか?

そう!これら 2 つの両方を呼び出すメイン関数には、次のものがあります。

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

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

function1 を上記のように定義します。

于 2013-01-08T05:12:26.427 に答える