GeezerVison is showing github.com — util: add internal createDeferredPromise() · nodejs/node@3187845
File treeExpand file treeCollapse file tree Open diff view settings Expand file treeCollapse file tree Open diff view settings Collapse file Copy file name to clipboardExpand all lines: lib/child_process.js +2-7Lines changed: 2 additions & 7 deletions | Original file line number | Diff line number | Diff line change |
|---|
@@ -37,7 +37,6 @@ const { | 37 | 37 | ObjectAssign, | 38 | 38 | ObjectDefineProperty, | 39 | 39 | ObjectPrototypeHasOwnProperty, | 40 | | - Promise, | 41 | 40 | RegExpPrototypeTest, | 42 | 41 | SafeSet, | 43 | 42 | StringPrototypeSlice, | @@ -47,6 +46,7 @@ const { | 47 | 46 | const { | 48 | 47 | promisify, | 49 | 48 | convertToValidSignal, | | 49 | + createDeferredPromise, | 50 | 50 | getSystemErrorName | 51 | 51 | } = require('internal/util'); | 52 | 52 | const { isArrayBufferView } = require('internal/util/types'); | @@ -185,12 +185,7 @@ function exec(command, options, callback) { | 185 | 185 |
| 186 | 186 | const customPromiseExecFunction = (orig) => { | 187 | 187 | return (...args) => { | 188 | | - let resolve; | 189 | | - let reject; | 190 | | - const promise = new Promise((res, rej) => { | 191 | | - resolve = res; | 192 | | - reject = rej; | 193 | | - }); | | 188 | + const { promise, resolve, reject } = createDeferredPromise(); | 194 | 189 |
| 195 | 190 | promise.child = orig(...args, (err, stdout, stderr) => { | 196 | 191 | if (err !== null) { | |
Collapse file Copy file name to clipboardExpand all lines: lib/internal/blob.js +2-11Lines changed: 2 additions & 11 deletions | Original file line number | Diff line number | Diff line change |
|---|
| 3 | 3 | const { | 4 | 4 | ArrayFrom, | 5 | 5 | ObjectSetPrototypeOf, | 6 | | - Promise, | 7 | 6 | PromiseResolve, | 8 | 7 | RegExpPrototypeTest, | 9 | 8 | StringPrototypeToLowerCase, | @@ -29,6 +28,7 @@ const { | 29 | 28 | } = require('internal/util/types'); | 30 | 29 |
| 31 | 30 | const { | | 31 | + createDeferredPromise, | 32 | 32 | customInspectSymbol: kInspect, | 33 | 33 | emitExperimentalWarning, | 34 | 34 | } = require('internal/util'); | @@ -56,15 +56,6 @@ const kLength = Symbol('kLength'); | 56 | 56 |
| 57 | 57 | let Buffer; | 58 | 58 |
| 59 | | -function deferred() { | 60 | | - let res, rej; | 61 | | - const promise = new Promise((resolve, reject) => { | 62 | | - res = resolve; | 63 | | - rej = reject; | 64 | | - }); | 65 | | - return { promise, resolve: res, reject: rej }; | 66 | | -} | 67 | | - | 68 | 59 | function lazyBuffer() { | 69 | 60 | if (Buffer === undefined) | 70 | 61 | Buffer = require('buffer').Buffer; | @@ -210,7 +201,7 @@ class Blob extends JSTransferable { | 210 | 201 | promise, | 211 | 202 | resolve, | 212 | 203 | reject | 213 | | - } = deferred(); | | 204 | + } = createDeferredPromise(); | 214 | 205 | job.ondone = (err, ab) => { | 215 | 206 | if (err !== undefined) | 216 | 207 | return reject(new AbortError()); | |
Collapse file Copy file name to clipboardExpand all lines: lib/internal/util.js +12Lines changed: 12 additions & 0 deletions | Original file line number | Diff line number | Diff line change |
|---|
@@ -420,11 +420,23 @@ function sleep(msec) { | 420 | 420 | _sleep(msec); | 421 | 421 | } | 422 | 422 |
| | 423 | +function createDeferredPromise() { | | 424 | + let resolve; | | 425 | + let reject; | | 426 | + const promise = new Promise((res, rej) => { | | 427 | + resolve = res; | | 428 | + reject = rej; | | 429 | + }); | | 430 | + | | 431 | + return { promise, resolve, reject }; | | 432 | +} | | 433 | + | 423 | 434 | module.exports = { | 424 | 435 | assertCrypto, | 425 | 436 | cachedResult, | 426 | 437 | convertToValidSignal, | 427 | 438 | createClassWrapper, | | 439 | + createDeferredPromise, | 428 | 440 | decorateErrorStack, | 429 | 441 | deprecate, | 430 | 442 | emitExperimentalWarning, | |
|