���� JFIF �� � ( %"1"%)+...383,7(-.-
![]() Server : Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.4.20 System : Linux st2.domain.com 3.10.0-1127.10.1.el7.x86_64 #1 SMP Wed Jun 3 14:28:03 UTC 2020 x86_64 User : apache ( 48) PHP Version : 7.4.20 Disable Function : NONE Directory : /proc/self/root/home/real/node-v13.0.1/test/parallel/ |
'use strict'; const common = require('../common'); const assert = require('assert'); const rejection = new Error('Swallowed reject'); const rejection2 = new TypeError('Weird'); const resolveMessage = 'First call'; const rejectPromise = new Promise((r) => setTimeout(r, 10, rejection2)); const swallowedResolve = 'Swallowed resolve'; const swallowedResolve2 = 'Foobar'; process.on('multipleResolves', common.mustCall(handler, 4)); const p1 = new Promise((resolve, reject) => { resolve(resolveMessage); resolve(swallowedResolve); reject(rejection); }); const p2 = new Promise((resolve, reject) => { reject(rejectPromise); resolve(swallowedResolve2); reject(rejection2); }).catch(common.mustCall((exception) => { assert.strictEqual(exception, rejectPromise); })); const expected = [ 'resolve', p1, swallowedResolve, 'reject', p1, rejection, 'resolve', p2, swallowedResolve2, 'reject', p2, rejection2 ]; let count = 0; function handler(type, promise, reason) { assert.strictEqual(type, expected.shift()); // In the first two cases the promise is identical because it's not delayed. // The other two cases are not identical, because the `promise` is caught in a // state when it has no knowledge about the `.catch()` handler that is // attached to it right afterwards. if (count++ < 2) { assert.strictEqual(promise, expected.shift()); } else { assert.notStrictEqual(promise, expected.shift()); } assert.strictEqual(reason, expected.shift()); }