Каков наилучший способ структурировать обратные вызовы jquery?
Я новичок в jquery и недавно был поражен, насколько мощны эти обратные вызовы. Но здесь у меня есть немного логики, и я не уверен, что лучший способ. По сути, я получил несколько таблиц в базе данных web sql в chrome. Мне нужно будет пройти, скажем, таблицу 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....
}
}
Аналогично для таблицы B и таблицы 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? Все они должны иметь одинаковую логику, и их можно вызывать только после того, как все сделано из таблицы A. Итак, каков наилучший способ сделать это в JQuery?
Спасибо