@@ -331,10 +331,7 @@ function ReadableStreamTee(stream, cloneForBranch2) {
331
331
let branch1 ;
332
332
let branch2 ;
333
333
334
- let resolveCancelPromise ;
335
- const cancelPromise = new Promise ( resolve => {
336
- resolveCancelPromise = resolve ;
337
- } ) ;
334
+ const cancelPromise = newPromise ( ) ;
338
335
339
336
function pullAlgorithm ( ) {
340
337
if ( reading === true ) {
@@ -376,6 +373,7 @@ function ReadableStreamTee(stream, cloneForBranch2) {
376
373
if ( canceled2 === false ) {
377
374
ReadableStreamDefaultControllerClose ( branch2 . _controller ) ;
378
375
}
376
+ resolvePromise ( cancelPromise , undefined ) ;
379
377
} ,
380
378
errorSteps : ( ) => {
381
379
reading = false ;
@@ -392,7 +390,7 @@ function ReadableStreamTee(stream, cloneForBranch2) {
392
390
if ( canceled2 === true ) {
393
391
const compositeReason = CreateArrayFromList ( [ reason1 , reason2 ] ) ;
394
392
const cancelResult = ReadableStreamCancel ( stream , compositeReason ) ;
395
- resolveCancelPromise ( cancelResult ) ;
393
+ resolvePromise ( cancelPromise , cancelResult ) ;
396
394
}
397
395
return cancelPromise ;
398
396
}
@@ -403,7 +401,7 @@ function ReadableStreamTee(stream, cloneForBranch2) {
403
401
if ( canceled1 === true ) {
404
402
const compositeReason = CreateArrayFromList ( [ reason1 , reason2 ] ) ;
405
403
const cancelResult = ReadableStreamCancel ( stream , compositeReason ) ;
406
- resolveCancelPromise ( cancelResult ) ;
404
+ resolvePromise ( cancelPromise , cancelResult ) ;
407
405
}
408
406
return cancelPromise ;
409
407
}
@@ -416,6 +414,7 @@ function ReadableStreamTee(stream, cloneForBranch2) {
416
414
uponRejection ( reader . _closedPromise , r => {
417
415
ReadableStreamDefaultControllerError ( branch1 . _controller , r ) ;
418
416
ReadableStreamDefaultControllerError ( branch2 . _controller , r ) ;
417
+ resolvePromise ( cancelPromise , undefined ) ;
419
418
} ) ;
420
419
421
420
return [ branch1 , branch2 ] ;
0 commit comments