$ cnpm install aggregate-error-ponyfill
The
AggregateErrorobject represents an error when several errors need to be wrapped in a single error. It is thrown when multiple errors need to be reported by an operation, for example byPromise.any(), when all promises passed to it reject.
npm install aggregate-error-ponyfill --save
import AggregateError from 'aggregate-error-ponyfill';
(async () => {
try {
await Promise.any([Promise.reject(new Error('some error'))]);
} catch (e) {
console.log(e instanceof AggregateError); // true
console.log(e.message); // "All Promises rejected"
console.log(e.name); // "AggregateError"
console.log(e.errors); // [ Error: "some error" ]
}
})();
try {
throw new AggregateError([new Error('some error')], 'Hello');
} catch (e) {
console.log(e instanceof AggregateError); // true
console.log(e.message); // "Hello"
console.log(e.name); // "AggregateError"
console.log(e.errors); // [ Error: "some error" ]
}
You can use named export preferNative if you wish to use native
implementation if it’s available. In all other cases, ponyfill will be used.
Beware of
caveats!
Returns: AggregateError
Method description.
Type: Iterable
An iterable of errors, may not actually be Error instances.
Type: string
An optional human-readable description of the aggregate error.
Tested in IE11+ and all modern browsers.
It works in older IE versions such as IE9, but you can’t test for
instanceof AggregateError due to
proper subclassing of native classes.
Test suite is taken and modified from
es-shims/AggregateError
polyfill.
For automated tests, run npm run test:automated (append :watch for watcher
support).
MIT © Ivan Nikolić
Copyright 2013 - present © cnpmjs.org | Home |