Skip to content

Commit 37dbc3b

Browse files
jasnelldanielleadams
authored andcommitted
events: propagate abortsignal reason in new AbortError ctor in events
Signed-off-by: James M Snell <[email protected]> PR-URL: #41008 Reviewed-By: Ruben Bridgewater <[email protected]> Reviewed-By: Robert Nagy <[email protected]> Reviewed-By: Benjamin Gruenbaum <[email protected]>
1 parent a1ed7f2 commit 37dbc3b

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

lib/events.js

+4-4
Original file line numberDiff line numberDiff line change
@@ -810,7 +810,7 @@ async function once(emitter, name, options = {}) {
810810
const signal = options?.signal;
811811
validateAbortSignal(signal, 'options.signal');
812812
if (signal?.aborted)
813-
throw new AbortError();
813+
throw new AbortError(undefined, { cause: signal?.reason });
814814
return new Promise((resolve, reject) => {
815815
const errorListener = (err) => {
816816
emitter.removeListener(name, resolver);
@@ -835,7 +835,7 @@ async function once(emitter, name, options = {}) {
835835
function abortListener() {
836836
eventTargetAgnosticRemoveListener(emitter, name, resolver);
837837
eventTargetAgnosticRemoveListener(emitter, 'error', errorListener);
838-
reject(new AbortError());
838+
reject(new AbortError(undefined, { cause: signal?.reason }));
839839
}
840840
if (signal != null) {
841841
eventTargetAgnosticAddListener(
@@ -888,7 +888,7 @@ function on(emitter, event, options) {
888888
const signal = options?.signal;
889889
validateAbortSignal(signal, 'options.signal');
890890
if (signal?.aborted)
891-
throw new AbortError();
891+
throw new AbortError(undefined, { cause: signal?.reason });
892892

893893
const unconsumedEvents = [];
894894
const unconsumedPromises = [];
@@ -976,7 +976,7 @@ function on(emitter, event, options) {
976976
return iterator;
977977

978978
function abortListener() {
979-
errorHandler(new AbortError());
979+
errorHandler(new AbortError(undefined, { cause: signal?.reason }));
980980
}
981981

982982
function eventHandler(...args) {

0 commit comments

Comments
 (0)