@@ -392,18 +392,23 @@ process.on('multipleResolves', common.mustNotCall());
392
392
// Check that the timing is correct
393
393
let pre = false ;
394
394
let post = false ;
395
- setPromiseTimeout ( 1 ) . then ( ( ) => pre = true ) ;
396
- const iterable = setInterval ( ( ) => { } , 2 ) ;
397
- const iterator = iterable [ Symbol . asyncIterator ] ( ) ;
398
-
399
- iterator . next ( ) . then ( common . mustCall ( ( ) => {
400
- assert . ok ( pre , 'interval ran too early' ) ;
401
- assert . ok ( ! post , 'interval ran too late' ) ;
402
- return iterator . next ( ) ;
403
- } ) ) . then ( common . mustCall ( ( ) => {
404
- assert . ok ( post , 'second interval ran too early' ) ;
405
- return iterator . return ( ) ;
406
- } ) ) ;
407
395
408
- setPromiseTimeout ( 3 ) . then ( ( ) => post = true ) ;
396
+ const time_unit = 50 ;
397
+ Promise . all ( [
398
+ setPromiseTimeout ( 1 ) . then ( ( ) => pre = true ) ,
399
+ new Promise ( ( res ) => {
400
+ const iterable = timerPromises . setInterval ( time_unit * 2 ) ;
401
+ const iterator = iterable [ Symbol . asyncIterator ] ( ) ;
402
+
403
+ iterator . next ( ) . then ( ( ) => {
404
+ assert . ok ( pre , 'interval ran too early' ) ;
405
+ assert . ok ( ! post , 'interval ran too late' ) ;
406
+ return iterator . next ( ) ;
407
+ } ) . then ( ( ) => {
408
+ assert . ok ( post , 'second interval ran too early' ) ;
409
+ return iterator . return ( ) ;
410
+ } ) . then ( res ) ;
411
+ } ) ,
412
+ setPromiseTimeout ( time_unit * 3 ) . then ( ( ) => post = true )
413
+ ] ) . then ( common . mustCall ( ) ) ;
409
414
}
0 commit comments