@@ -642,11 +642,7 @@ async function once(emitter, name, options = {}) {
642
642
const errorListener = ( err ) => {
643
643
emitter . removeListener ( name , resolver ) ;
644
644
if ( signal != null ) {
645
- eventTargetAgnosticRemoveListener (
646
- signal ,
647
- 'abort' ,
648
- abortListener ,
649
- { once : true } ) ;
645
+ eventTargetAgnosticRemoveListener ( signal , 'abort' , abortListener ) ;
650
646
}
651
647
reject ( err ) ;
652
648
} ;
@@ -655,38 +651,22 @@ async function once(emitter, name, options = {}) {
655
651
emitter . removeListener ( 'error' , errorListener ) ;
656
652
}
657
653
if ( signal != null ) {
658
- eventTargetAgnosticRemoveListener (
659
- signal ,
660
- 'abort' ,
661
- abortListener ,
662
- { once : true } ) ;
654
+ eventTargetAgnosticRemoveListener ( signal , 'abort' , abortListener ) ;
663
655
}
664
656
resolve ( args ) ;
665
657
} ;
666
658
eventTargetAgnosticAddListener ( emitter , name , resolver , { once : true } ) ;
667
- if ( name !== 'error' ) {
668
- addErrorHandlerIfEventEmitter ( emitter , errorListener , { once : true } ) ;
659
+ if ( name !== 'error' && typeof emitter . once === 'function' ) {
660
+ emitter . once ( 'error' , errorListener ) ;
669
661
}
670
662
function abortListener ( ) {
671
- if ( typeof emitter . removeListener === 'function' ) {
672
- emitter . removeListener ( name , resolver ) ;
673
- emitter . removeListener ( 'error' , errorListener ) ;
674
- } else {
675
- eventTargetAgnosticRemoveListener (
676
- emitter ,
677
- name ,
678
- resolver ,
679
- { once : true } ) ;
680
- eventTargetAgnosticRemoveListener (
681
- emitter ,
682
- 'error' ,
683
- errorListener ,
684
- { once : true } ) ;
685
- }
663
+ eventTargetAgnosticRemoveListener ( emitter , name , resolver ) ;
664
+ eventTargetAgnosticRemoveListener ( emitter , 'error' , resolver ) ;
686
665
reject ( lazyDOMException ( 'The operation was aborted' , 'AbortError' ) ) ;
687
666
}
688
667
if ( signal != null ) {
689
- signal . addEventListener ( 'abort' , abortListener , { once : true } ) ;
668
+ eventTargetAgnosticAddListener (
669
+ signal , 'abort' , abortListener , { once : true } ) ;
690
670
}
691
671
} ) ;
692
672
}
@@ -698,12 +678,6 @@ function createIterResult(value, done) {
698
678
return { value, done } ;
699
679
}
700
680
701
- function addErrorHandlerIfEventEmitter ( emitter , handler , flags ) {
702
- if ( typeof emitter . on === 'function' ) {
703
- eventTargetAgnosticAddListener ( emitter , 'error' , handler , flags ) ;
704
- }
705
- }
706
-
707
681
function eventTargetAgnosticRemoveListener ( emitter , name , listener , flags ) {
708
682
if ( typeof emitter . removeListener === 'function' ) {
709
683
emitter . removeListener ( name , listener ) ;
@@ -808,8 +782,8 @@ function on(emitter, event, options) {
808
782
} , AsyncIteratorPrototype ) ;
809
783
810
784
eventTargetAgnosticAddListener ( emitter , event , eventHandler ) ;
811
- if ( event !== 'error' ) {
812
- addErrorHandlerIfEventEmitter ( emitter , errorHandler ) ;
785
+ if ( event !== 'error' && typeof emitter . on === 'function' ) {
786
+ emitter . on ( 'error' , errorHandler ) ;
813
787
}
814
788
815
789
if ( signal ) {
0 commit comments