執行SQL語句我想要的SQL與下面的代碼指令順序執行列表中。但我可以看到,從下面的方法不能保證序列。什麼是正確的方法?如何依次角JS
deletegrpquery = 'delete FROM grp where grp_id=(?)';
deleteuserassociations = 'delete FROM grp_usr where grp_id=(?)';
deleteexpensesofgrp = 'delete FROM exp where exp_grp=(?)';
deletepaidbyentries = 'delete FROM paidby where paid_exp in (select exp_id from exp where exp_grp=(?))';
deleteapplicabletoentries = 'delete FROM applicableto where applicable_exp in (select exp_id from exp where exp_grp=(?)';
deletesettlements = 'delete from settlements where settlement_grp=(?)';
cleanup_applicable = 'delete FROM applicableto where applicable_exp not in (select exp_id from exp)';
cleanup_paidby = 'delete FROM applicableto where applicable_exp not in (select exp_id from exp)';
querylistfordeletegrp = [deletepaidbyentries, deleteapplicabletoentries, deletesettlements, deleteuserassociations, deletegrpquery,deleteexpensesofgrp, cleanup_applicable, cleanup_paidby];
angular.forEach(querylistfordeletegrp, function(query) {
DB.query(query, [grp_id]).then(function(result) {
console.log(query);
});
})
我實現這一目標不知道多少JS,但在我看來,你應該等待查詢完成,然後在'then'回調中執行下一個。等等。可能有圖書館來促進這些東西。 –
嵌套thens?我認爲它太嵌套了:P尋找更乾淨的方式。所有的 –
首先,我不建議直接從JavaScript(客戶端)查詢數據庫。這是非常危險的。數據庫調用和查詢必須在服務器端進行管理。 –