@@ -456,19 +456,18 @@ export class Snapshot extends EventEmitter {
456456 gaxOpts,
457457 headers : headers ,
458458 } ,
459- (
459+ async (
460460 err : null | grpc . ServiceError ,
461461 resp : spannerClient . spanner . v1 . ITransaction
462462 ) => {
463463 if ( err ) {
464464 setSpanError ( span , err ) ;
465- span . end ( ) ;
466- callback ! ( err , resp ) ;
467- return ;
465+ } else {
466+ this . _update ( resp ) ;
468467 }
469- this . _update ( resp ) ;
468+
469+ await callback ! ( err , resp ) ;
470470 span . end ( ) ;
471- callback ! ( null , resp ) ;
472471 }
473472 ) ;
474473 } ) ;
@@ -2149,35 +2148,25 @@ export class Transaction extends Dml {
21492148 opts : this . _observabilityOptions ,
21502149 dbName : this . _dbName ! ,
21512150 } ;
2152- return startTrace ( 'Transaction.commit' , traceConfig , span => {
2151+ startTrace ( 'Transaction.commit' , traceConfig , async span => {
21532152 if ( this . id ) {
21542153 reqOpts . transactionId = this . id as Uint8Array ;
21552154 } else if ( ! this . _useInRunner ) {
21562155 reqOpts . singleUseTransaction = this . _options ;
21572156 } else {
2158- this . begin ( )
2159- . then (
2160- ( ) => {
2161- this . commit ( options , ( err , resp ) => {
2162- if ( err ) {
2163- setSpanError ( span , err ) ;
2164- }
2165- span . end ( ) ;
2166- callback ( err , resp ) ;
2167- } ) ;
2168- } ,
2169- err => {
2170- setSpanError ( span , err ) ;
2171- callback ( err ) ;
2172- span . end ( ) ;
2173- }
2174- )
2175- . catch ( err => {
2176- setSpanErrorAndException ( span , err as Error ) ;
2177- span . end ( ) ;
2178- // Re-throw the exception after recording it.
2179- throw err ;
2180- } ) ;
2157+ try {
2158+ await this . begin ( ) ;
2159+ const resp = await this . commit ( options ) ;
2160+ span . end ( ) ;
2161+ await callback (
2162+ null ,
2163+ resp as spannerClient . spanner . v1 . ICommitResponse
2164+ ) ;
2165+ } catch ( err ) {
2166+ setSpanErrorAndException ( span , err as Error ) ;
2167+ span . end ( ) ;
2168+ await callback ( err as ServiceError , null ) ;
2169+ }
21812170 return ;
21822171 }
21832172
@@ -2215,7 +2204,10 @@ export class Transaction extends Dml {
22152204 gaxOpts : gaxOpts ,
22162205 headers : headers ,
22172206 } ,
2218- ( err : null | Error , resp : spannerClient . spanner . v1 . ICommitResponse ) => {
2207+ async (
2208+ err : null | Error ,
2209+ resp : spannerClient . spanner . v1 . ICommitResponse
2210+ ) => {
22192211 this . end ( ) ;
22202212
22212213 if ( err ) {
0 commit comments