diff --git a/lib/internal/abort_controller.js b/lib/internal/abort_controller.js index ae12099bf802d3..701b8da2da70ee 100644 --- a/lib/internal/abort_controller.js +++ b/lib/internal/abort_controller.js @@ -309,12 +309,13 @@ function abortSignal(signal, reason) { } class AbortController { - #signal = createAbortSignal(); + #signal; /** * @type {AbortSignal} */ get signal() { + this.#signal ??= createAbortSignal(); return this.#signal; } @@ -322,7 +323,7 @@ class AbortController { * @param {any} reason */ abort(reason = new DOMException('This operation was aborted', 'AbortError')) { - abortSignal(this.#signal, reason); + abortSignal(this.#signal ??= createAbortSignal(), reason); } [customInspectSymbol](depth, options) {