A ponyfill/polyfill for browser Promise unhandledrejection
events.
See: https://www.chromestatus.com/features/4805872211460096
npm i browser-unhandled-rejection
or
yarn add browser-unhandled-rejection
This automatically applies the polyfill to the global Promise
object if it is needed.
import {auto} from 'browser-unhandled-rejection';
auto(); // Applies polyfill if necessary to window.Promise
The following snippet is equivalent to auto()
:
import {polyfill} from 'browser-unhandled-rejection';
if (typeof PromiseRejectionEvent !== 'undefined') {
polyfill(); // Polyfills window.Promise
}
This may may useful if you don't want to mutate window.Promise
:
import MyPromise from 'browser-unhandled-rejection';
window.addEventListener('unhandledrejection', () => {
console.log('unhandledrejection was triggered');
});
MyPromise.reject('will trigger unhandledrejection event');
new MyPromise((resolve, reject) => {
reject('will also trigger unhandledrejection event');
});