4
我習慣於使用C#編寫代碼,有時候我創建的事務對不同的存儲庫有多個調用,如果調用失敗,則回滾涵蓋每個存儲庫。node.js:創建涵蓋對多個存儲庫的調用的事務
的代碼是這樣的:
using (var scope = new TransactionScope())
{
itemRepository.deleteItems(items);
bookRepository.deleteBooks(books);
scope.Complete();
}
這確保瞭如果上bookRepository發生錯誤,已刪除的項目將在回滾。
現在,我正在嘗試使用node.js來做同樣的事情。 我發現mssql包,有可能創造交易的選項,但只有在倉庫裏,像這樣:
var transaction = new sql.Transaction(/* [connection] */);
transaction.begin(function(err) {
// ... error checks
var request = new sql.Request(transaction);
request.query('insert into mytable (mycolumn) values (12345)', function(err, recordset) {
// ... error checks
transaction.commit(function(err, recordset) {
// ... error checks
console.log("Transaction committed.");
});
});
});
所以,有一些方法來創建覆蓋多個庫像我勞務交易描述?
我正在爲mysql +節點尋找類似的答案 –