2

私は jquery を初めて使用し、最近これらのコールバックがどれほど強力であるかに驚いています。しかし、ここでいくつかのロジックが得られましたが、最善の方法が何であるかはわかりません。基本的に、クロムのWeb SQLデータベースにたくさんのテーブルがあります。テーブルA、テーブルB、テーブルCを通過する必要があります。テーブルの各行をサーバーに送信する必要があります。各行は一連の複雑なロジックとデータ URL を表し、A -> B -> C の順序で送信する必要があります。

通常のJavaの方法は次のとおりです。

TableA.SubmitToServer()
{
    query table A;
    foreach(row in tableA.rows)
    {
        int nRetID = submitToServer(row);
        //do other updates....
    }
}

tableB と table C についても同様です。

次に、次のように呼び出します。

TableA.SubmitToServer();
TableB.SubmitToServer();
TableC.SubmitToServer();
//that is very clear and easy. 

しかし、JQuery では、おそらく次のようになります。

db.Transaction(function (tx){
    var strQuery = "select * from TableA";
    tx.executeSql(strQuery, [], function (tx, result) {
        for(i = 0 ; i < result.rows.length; i++) {
            submitTableARowToServer(tx, result.rows.getItem(i), function (tx, result) {
                //do some other related updates based on this row from tableA
                //also need to upload some related files to server...
            });
        }
    }, 
    function errorcallback() ...
});

ご覧のとおり、ネストされたコールバックはすでに十分にあります。では、TableB と tableC の処理はどこに置けばよいのでしょうか。それらはすべて同様のロジックを持つ必要があり、TableA からすべてが完了した後にのみ呼び出すことができます。それで、JQueryでこれを行う最良の方法は何ですか?

ありがとう

4

0 に答える 0