Skip to content

Commit 49d5f67

Browse files
KhafraDevcrysmags
authored andcommitted
remove timers/promises import (nodejs#2665)
1 parent 82e2a17 commit 49d5f67

File tree

2 files changed

+11
-3
lines changed

2 files changed

+11
-3
lines changed

lib/eventsource/eventsource.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
'use strict'
22

3-
const { setTimeout } = require('node:timers/promises')
43
const { pipeline } = require('node:stream')
54
const { fetching } = require('../fetch')
65
const { makeRequest } = require('../fetch/request')
@@ -11,6 +10,7 @@ const { parseMIMEType } = require('../fetch/dataURL')
1110
const { MessageEvent } = require('../websocket/events')
1211
const { isNetworkError } = require('../fetch/response')
1312
const { getGlobalDispatcher } = require('../global')
13+
const { delay } = require('./util')
1414

1515
let experimentalWarned = false
1616

@@ -344,7 +344,7 @@ class EventSource extends EventTarget {
344344
this.dispatchEvent(new Event('error'))
345345

346346
// 2. Wait a delay equal to the reconnection time of the event source.
347-
await setTimeout(this.#settings.reconnectionTime, { ref: false })
347+
await delay(this.#settings.reconnectionTime)
348348

349349
// 5. Queue a task to run the following steps:
350350

lib/eventsource/util.js

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,15 @@ function isASCIINumber (value) {
2323
return true
2424
}
2525

26+
// https://github.com/nodejs/undici/issues/2664
27+
function delay (ms) {
28+
return new Promise((resolve) => {
29+
setTimeout(resolve, ms).unref()
30+
})
31+
}
32+
2633
module.exports = {
2734
isValidLastEventId,
28-
isASCIINumber
35+
isASCIINumber,
36+
delay
2937
}

0 commit comments

Comments
 (0)