The PromiseRejectionEvent interface represents events which are fired when JavaScript Promises are rejected. These events are particularly useful for telemetry and debugging purposes.

Constructor

PromiseRejectionEvent()
Creates a PromiseRejectionEvent event with the given parameters.

Properties

Also inherits properties from its parent Event.

PromiseRejectionEvent.promise Read only
The JavaScript Promise that was rejected.
PromiseRejectionEvent.reason Read only
A value or Object indicating why the promise was rejected, as passed to Promise.reject().

Methods

This interface has no unique methods; inherits methods from its parent Event.

Events

unhandledrejection
Fired when a JavaScript Promise is rejected but there is no rejection handler to deal with the rejection.
rejectionhandled
Fired when a JavaScript Promise is rejected, and after the rejection is handled by the promise's rejection handling code.

Examples

window.onunhandledrejection = function(e) {
  console.log(e.reason);
}

Specifications

Specification Status Comment
HTML Living Standard
The definition of 'PromiseRejectionEvent' in that specification.
Living Standard Initial definition.

Browser compatibility

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidiOS SafariSamsung Internet
Basic supportChrome Full support 49Edge ? Firefox No support No
Notes Disabled
No support No
Notes Disabled
Notes Firefox doesn't yet send the unhandledrejection or understand rejectionhandled events. Completing the implementation will be addressed in bug 1362272.
Disabled This feature is behind the dom.promise_rejection_events.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE No support NoOpera No support NoSafari No support NoWebView Android ? Chrome Android No support NoEdge Mobile ? Firefox Android No support No
Notes Disabled
No support No
Notes Disabled
Notes Firefox doesn't yet send the unhandledrejection or understand rejectionhandled events. Completing the implementation will be addressed in bug 1362272.
Disabled This feature is behind the dom.promise_rejection_events.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android No support NoSafari iOS No support NoSamsung Internet Android ?
PromiseRejectionEventChrome Full support 49Edge ? Firefox No support No
Notes Disabled
No support No
Notes Disabled
Notes Firefox doesn't yet send the unhandledrejection or understand rejectionhandled events. Completing the implementation will be addressed in bug 1362272.
Disabled This feature is behind the dom.promise_rejection_events.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE No support NoOpera No support NoSafari No support NoWebView Android ? Chrome Android No support NoEdge Mobile ? Firefox Android No support No
Notes Disabled
No support No
Notes Disabled
Notes Firefox doesn't yet send the unhandledrejection or understand rejectionhandled events. Completing the implementation will be addressed in bug 1362272.
Disabled This feature is behind the dom.promise_rejection_events.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android No support NoSafari iOS No support NoSamsung Internet Android ?
promiseChrome Full support 49Edge ? Firefox No support No
Notes Disabled
No support No
Notes Disabled
Notes Firefox doesn't yet send the unhandledrejection or understand rejectionhandled events. Completing the implementation will be addressed in bug 1362272.
Disabled This feature is behind the dom.promise_rejection_events.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE No support NoOpera No support NoSafari No support NoWebView Android ? Chrome Android No support NoEdge Mobile ? Firefox Android No support No
Notes Disabled
No support No
Notes Disabled
Notes Firefox doesn't yet send the unhandledrejection or understand rejectionhandled events. Completing the implementation will be addressed in bug 1362272.
Disabled This feature is behind the dom.promise_rejection_events.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android No support NoSafari iOS No support NoSamsung Internet Android ?
reasonChrome Full support 49Edge ? Firefox No support No
Notes Disabled
No support No
Notes Disabled
Notes Firefox doesn't yet send the unhandledrejection or understand rejectionhandled events. Completing the implementation will be addressed in bug 1362272.
Disabled This feature is behind the dom.promise_rejection_events.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE No support NoOpera No support NoSafari No support NoWebView Android ? Chrome Android No support NoEdge Mobile ? Firefox Android No support No
Notes Disabled
No support No
Notes Disabled
Notes Firefox doesn't yet send the unhandledrejection or understand rejectionhandled events. Completing the implementation will be addressed in bug 1362272.
Disabled This feature is behind the dom.promise_rejection_events.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android No support NoSafari iOS No support NoSamsung Internet Android ?

Legend

Full support  
Full support
No support  
No support
Compatibility unknown  
Compatibility unknown
See implementation notes.
See implementation notes.
User must explicitly enable this feature.
User must explicitly enable this feature.

See also

Document Tags and Contributors

Contributors to this page: fscholz, Sheppy, chrisdavidmills
Last updated by: fscholz,