4
4
FunctionPrototypeBind,
5
5
Promise,
6
6
PromiseReject,
7
+ PromiseWithResolvers,
7
8
ReflectConstruct,
8
9
SafePromisePrototypeFinally,
9
10
Symbol,
@@ -75,20 +76,19 @@ function setTimeout(after, value, options = kEmptyObject) {
75
76
}
76
77
77
78
let oncancel ;
78
- const ret = new Promise ( ( resolve , reject ) => {
79
- const timeout = new Timeout ( resolve , after , [ value ] , false , ref ) ;
80
- insert ( timeout , timeout . _idleTimeout ) ;
81
- if ( signal ) {
82
- oncancel = FunctionPrototypeBind ( cancelListenerHandler ,
83
- timeout , clearTimeout , reject , signal ) ;
84
- kResistStopPropagation ??= require ( 'internal/event_target' ) . kResistStopPropagation ;
85
- signal . addEventListener ( 'abort' , oncancel , { __proto__ : null , [ kResistStopPropagation ] : true } ) ;
86
- }
87
- } ) ;
79
+ const { promise, resolve, reject } = PromiseWithResolvers ( ) ;
80
+ const timeout = new Timeout ( resolve , after , [ value ] , false , ref ) ;
81
+ insert ( timeout , timeout . _idleTimeout ) ;
82
+ if ( signal ) {
83
+ oncancel = FunctionPrototypeBind ( cancelListenerHandler ,
84
+ timeout , clearTimeout , reject , signal ) ;
85
+ kResistStopPropagation ??= require ( 'internal/event_target' ) . kResistStopPropagation ;
86
+ signal . addEventListener ( 'abort' , oncancel , { __proto__ : null , [ kResistStopPropagation ] : true } ) ;
87
+ }
88
88
return oncancel !== undefined ?
89
89
SafePromisePrototypeFinally (
90
- ret ,
91
- ( ) => signal . removeEventListener ( 'abort' , oncancel ) ) : ret ;
90
+ promise ,
91
+ ( ) => signal . removeEventListener ( 'abort' , oncancel ) ) : promise ;
92
92
}
93
93
94
94
function setImmediate ( value , options = kEmptyObject ) {
@@ -113,21 +113,20 @@ function setImmediate(value, options = kEmptyObject) {
113
113
}
114
114
115
115
let oncancel ;
116
- const ret = new Promise ( ( resolve , reject ) => {
117
- const immediate = new Immediate ( resolve , [ value ] ) ;
118
- if ( ! ref ) immediate . unref ( ) ;
119
- if ( signal ) {
120
- oncancel = FunctionPrototypeBind ( cancelListenerHandler ,
121
- immediate , clearImmediate , reject ,
122
- signal ) ;
123
- kResistStopPropagation ??= require ( 'internal/event_target' ) . kResistStopPropagation ;
124
- signal . addEventListener ( 'abort' , oncancel , { __proto__ : null , [ kResistStopPropagation ] : true } ) ;
125
- }
126
- } ) ;
116
+ const { promise, resolve, reject } = PromiseWithResolvers ( ) ;
117
+ const immediate = new Immediate ( resolve , [ value ] ) ;
118
+ if ( ! ref ) immediate . unref ( ) ;
119
+ if ( signal ) {
120
+ oncancel = FunctionPrototypeBind ( cancelListenerHandler ,
121
+ immediate , clearImmediate , reject ,
122
+ signal ) ;
123
+ kResistStopPropagation ??= require ( 'internal/event_target' ) . kResistStopPropagation ;
124
+ signal . addEventListener ( 'abort' , oncancel , { __proto__ : null , [ kResistStopPropagation ] : true } ) ;
125
+ }
127
126
return oncancel !== undefined ?
128
127
SafePromisePrototypeFinally (
129
- ret ,
130
- ( ) => signal . removeEventListener ( 'abort' , oncancel ) ) : ret ;
128
+ promise ,
129
+ ( ) => signal . removeEventListener ( 'abort' , oncancel ) ) : promise ;
131
130
}
132
131
133
132
async function * setInterval ( after , value , options = kEmptyObject ) {
0 commit comments