diff options
author | Anna Henningsen <anna@addaleax.net> | 2020-08-13 22:00:55 +0300 |
---|---|---|
committer | Rich Trott <rtrott@gmail.com> | 2020-08-16 00:48:13 +0300 |
commit | 5d179cb2eccac38205b6f03ecf6403df65deea51 (patch) | |
tree | 03742d30a4103b8ebcc7058d4dfaa0f2851097bc /lib/timers | |
parent | ba5c64bf4541f540880cf35facdb8c24666072eb (diff) |
timers: use AbortController with correct name/message
On the web, `AbortError` is the error name, not the error
message. Change the code to match that.
PR-URL: https://github.com/nodejs/node/pull/34763
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Diffstat (limited to 'lib/timers')
-rw-r--r-- | lib/timers/promises.js | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/lib/timers/promises.js b/lib/timers/promises.js index 78197fe86f6..ef1e6437d4f 100644 --- a/lib/timers/promises.js +++ b/lib/timers/promises.js @@ -18,10 +18,10 @@ const { let DOMException; -const lazyDOMException = hideStackFrames((message) => { +const lazyDOMException = hideStackFrames((message, name) => { if (DOMException === undefined) DOMException = internalBinding('messaging').DOMException; - return new DOMException(message); + return new DOMException(message, name); }); function setTimeout(after, value, options = {}) { @@ -54,8 +54,10 @@ function setTimeout(after, value, options = {}) { // TODO(@jasnell): If a decision is made that this cannot be backported // to 12.x, then this can be converted to use optional chaining to // simplify the check. - if (signal && signal.aborted) - return PromiseReject(lazyDOMException('AbortError')); + if (signal && signal.aborted) { + return PromiseReject( + lazyDOMException('The operation was aborted', 'AbortError')); + } return new Promise((resolve, reject) => { const timeout = new Timeout(resolve, after, args, false, true); if (!ref) timeout.unref(); @@ -65,7 +67,7 @@ function setTimeout(after, value, options = {}) { if (!timeout._destroyed) { // eslint-disable-next-line no-undef clearTimeout(timeout); - reject(lazyDOMException('AbortError')); + reject(lazyDOMException('The operation was aborted', 'AbortError')); } }, { once: true }); } @@ -101,8 +103,10 @@ function setImmediate(value, options = {}) { // TODO(@jasnell): If a decision is made that this cannot be backported // to 12.x, then this can be converted to use optional chaining to // simplify the check. - if (signal && signal.aborted) - return PromiseReject(lazyDOMException('AbortError')); + if (signal && signal.aborted) { + return PromiseReject( + lazyDOMException('The operation was aborted', 'AbortError')); + } return new Promise((resolve, reject) => { const immediate = new Immediate(resolve, [value]); if (!ref) immediate.unref(); @@ -111,7 +115,7 @@ function setImmediate(value, options = {}) { if (!immediate._destroyed) { // eslint-disable-next-line no-undef clearImmediate(immediate); - reject(lazyDOMException('AbortError')); + reject(lazyDOMException('The operation was aborted', 'AbortError')); } }, { once: true }); } |