.. | ||
test | ||
.editorconfig | ||
.eslintrc | ||
.travis.yml | ||
auto.js | ||
CHANGELOG.md | ||
implementation.js | ||
index.js | ||
LICENSE | ||
package.json | ||
polyfill.js | ||
README.md | ||
requirePromise.js | ||
shim.js |
promise.allsettled
ES Proposal spec-compliant shim for Promise.allSettled. Invoke its "shim" method to shim Promise.allSettled
if it is unavailable or noncompliant. Note: a global Promise
must already exist: the es6-shim is recommended.
This package implements the es-shim API interface. It works in an ES3-supported environment that has Promise
available globally, and complies with the proposed spec.
Most common usage:
var assert = require('assert');
var allSettled = require('promise.allsettled');
var resolved = Promise.resolve(42);
var rejected = Promise.reject(-1);
allSettled([resolved, rejected]).then(function (results) {
assert.deepEqual(results, [
{ status: 'fulfilled', value: 42 },
{ status: 'rejected', reason: -1 }
]);
});
allSettled.shim(); // will be a no-op if not needed
Promise.allSettled([resolved, rejected]).then(function (results) {
assert.deepEqual(results, [
{ status: 'fulfilled', value: 42 },
{ status: 'rejected', reason: -1 }
]);
});
Tests
Simply clone the repo, npm install
, and run npm test