@@ -95,10 +95,12 @@ Transaction.prototype.begin = function(callback) {
9595 var req = new pb . BeginTransactionRequest ( ) ;
9696 var res = pb . BeginTransactionResponse ;
9797 this . makeReq ( 'beginTransaction' , req , res , function ( err , resp ) {
98- if ( ! err ) {
99- that . id = resp . transaction ;
98+ if ( err ) {
99+ callback ( err ) ;
100+ return ;
100101 }
101- callback ( err ) ;
102+ that . id = resp . transaction ;
103+ callback ( null ) ;
102104 } ) ;
103105} ;
104106
@@ -122,10 +124,12 @@ Transaction.prototype.rollback = function(callback) {
122124 var req = new pb . RollbackRequest ( { transaction : this . id } ) ;
123125 var res = pb . RollbackResponse ;
124126 this . makeReq ( 'rollback' , req , res , function ( err ) {
125- if ( ! err ) {
126- that . isFinalized = true ;
127+ if ( err ) {
128+ callback ( err ) ;
129+ return ;
127130 }
128- callback ( err ) ;
131+ that . isFinalized = true ;
132+ callback ( null ) ;
129133 } ) ;
130134} ;
131135
@@ -149,10 +153,12 @@ Transaction.prototype.commit = function(callback) {
149153 var req = new pb . CommitRequest ( { transaction : this . id } ) ;
150154 var res = pb . CommitResponse ;
151155 this . makeReq ( 'commit' , req , res , function ( err ) {
152- if ( ! err ) {
153- that . isFinalized = true ;
156+ if ( err ) {
157+ callback ( err ) ;
158+ return ;
154159 }
155- callback ( err ) ;
160+ that . isFinalized = true ;
161+ callback ( null ) ;
156162 } ) ;
157163} ;
158164
@@ -172,9 +178,10 @@ Transaction.prototype.commit = function(callback) {
172178 */
173179Transaction . prototype . finalize = function ( callback ) {
174180 if ( ! this . isFinalized ) {
175- return this . commit ( callback ) ;
181+ this . commit ( callback ) ;
182+ return ;
176183 }
177- callback ( ) ;
184+ setImmediate ( callback ) ;
178185} ;
179186
180187/**
@@ -303,7 +310,8 @@ Transaction.prototype.save = function(entities, callback) {
303310 var res = pb . CommitResponse ;
304311 this . makeReq ( 'commit' , req , res , function ( err , resp ) {
305312 if ( err || ! resp ) {
306- return callback ( err ) ;
313+ callback ( err ) ;
314+ return ;
307315 }
308316 var autoInserted = ( resp . mutation_result . insert_auto_id_key || [ ] ) ;
309317 autoInserted . forEach ( function ( key , index ) {
@@ -387,7 +395,8 @@ Transaction.prototype.runQuery = function(q, callback) {
387395 var res = pb . RunQueryResponse ;
388396 this . makeReq ( 'runQuery' , req , res , function ( err , resp ) {
389397 if ( err || ! resp . batch || ! resp . batch . entity_result ) {
390- return callback ( err ) ;
398+ callback ( err ) ;
399+ return ;
391400 }
392401 var nextQuery = null ;
393402 if ( resp . batch . end_cursor ) {
@@ -451,7 +460,7 @@ Transaction.prototype.makeReq = function(method, req, respType, callback) {
451460 callback ( err ) ;
452461 return ;
453462 }
454- callback ( null , respType . decode ( buffer ) ) ;
463+ callback ( null , respType . decode ( buffer ) ) ;
455464 } ) ;
456465 } ) ;
457466 } ) ;
0 commit comments