diff --git a/lib/events.js b/lib/events.js index b79c8a36cdc012..7abf18f42c0064 100644 --- a/lib/events.js +++ b/lib/events.js @@ -928,7 +928,7 @@ async function once(emitter, name, options = kEmptyObject) { const signal = options?.signal; validateAbortSignal(signal, 'options.signal'); if (signal?.aborted) - throw new AbortError(); + throw new AbortError(undefined, { cause: signal?.reason }); return new Promise((resolve, reject) => { const errorListener = (err) => { emitter.removeListener(name, resolver); @@ -955,7 +955,7 @@ async function once(emitter, name, options = kEmptyObject) { function abortListener() { eventTargetAgnosticRemoveListener(emitter, name, resolver); eventTargetAgnosticRemoveListener(emitter, 'error', errorListener); - reject(new AbortError()); + reject(new AbortError(undefined, { cause: signal?.reason })); } if (signal != null) { eventTargetAgnosticAddListener( @@ -1006,7 +1006,7 @@ function on(emitter, event, options) { const signal = options?.signal; validateAbortSignal(signal, 'options.signal'); if (signal?.aborted) - throw new AbortError(); + throw new AbortError(undefined, { cause: signal?.reason }); const unconsumedEvents = []; const unconsumedPromises = []; @@ -1094,7 +1094,7 @@ function on(emitter, event, options) { return iterator; function abortListener() { - errorHandler(new AbortError()); + errorHandler(new AbortError(undefined, { cause: signal?.reason })); } function eventHandler(...args) {