Tag: transactionscope

node.js:创build一个覆盖对多个存储库的调用的事务

我习惯于使用C#编写代码,有时我创build的事务对不同的存储库有多个调用,如果调用失败,则回滚覆盖每个存储库。 代码是这样的: using (var scope = new TransactionScope()) { itemRepository.deleteItems(items); bookRepository.deleteBooks(books); scope.Complete(); } 这确保了如果在bookRepository上发生错误,删除的项目将在回滚中。 现在,我正在尝试使用node.js来做同样的事情。 我find了可以创build事务的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 […]