The PromiseRejectionEvent interface's promise read-only property indicates the JavaScript Promise which was rejected. You can examine the event's PromiseRejectionEvent.reason property to learn why the promise was rejected.


promise = PromiseRejectionEvent.promise


The JavaScript Promise which was rejected, and whose rejection went unhandled.


This example listens for unhandled promises and, if the reason is an object with a code field containing the text "Module not ready", it sets up an idle callback that will retry the task that failed to execute correctly.

event.preventDefault() is called to indicate that the promise has now been handled.

window.onunhandledrejection = function(event) {
  if (event.reason.code && event.reason.code == "Module not ready") {
    window.requestIdleCallback(function(deadline) {


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

Browser compatibility

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support49 ? No1 2 No No No
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Basic support ? No ? No1 2 No No ?

1. Firefox doesn't yet send the unhandledrejection or understand rejectionhandled events. Completing the implementation will be addressed in bug 1362272.

2. 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.

See also

Document Tags and Contributors

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