构造那些jquery回调的最佳方法是什么?

时间:2012-06-03 04:19:04

标签: javascript callback web-sql

我是jquery的新手,最近我们惊讶于这些回调是多么强大。但在这里我有一些逻辑,我不确定最好的方法是什么。 基本上,我在chrome的web sql数据库中得到了一堆表。我需要查看表A,表B和表C.我需要将表的每一行提交给服务器。每行代表一堆复杂的逻辑和数据网址,它们必须按照A - >的顺序提交。 B - > C.

常规的Java方式是:

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

类似于tableB和表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中执行此操作的最佳方法是什么?

由于

0 个答案:

没有答案