A ponyfill/polyfill for browser Promise unhandledrejection events.
See: https://www.chromestatus.com/features/4805872211460096
npm i browser-unhandled-rejectionor
yarn add browser-unhandled-rejectionThis 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.PromiseThe 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');
});