From 5745bcbb41778f2df0f02c9c19ce64c8af01c77e Mon Sep 17 00:00:00 2001 From: Yagiz Nizipli Date: Sat, 19 Nov 2022 15:13:08 -0500 Subject: [PATCH] lib: improve AbortController creation duration PR-URL: https://github.com/nodejs/node/pull/45525 Reviewed-By: Matteo Collina Reviewed-By: Antoine du Hamel --- lib/internal/abort_controller.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) 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) {