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.
Syntax
promise = PromiseRejectionEvent.promise
Value
The JavaScript Promise
which was rejected, and whose rejection went unhandled.
Examples
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) { loadModule(event.reason.moduleName) .then(performStartup); }); event.preventDefault(); } }
Specifications
Specification | Status | Comment |
---|---|---|
HTML Living Standard The definition of 'PromiseRejectionEvent.promise' in that specification. |
Living Standard | Initial definition. |
Browser compatibility
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | 49 | No support[1] | No support | No support | No support |
Feature | Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|
Basic support | No support | No support[1] | No support | No support | No support |
[1] Firefox implements the PromiseRejectionEvent
interface if you go to about:config and set the dom.promise_rejection_events.enabled
pref to true
. However, Firefox doesn't yet actually send the unhandledrejection
or understand rejectionhandled
events. Completing the implementation will be addressed in bug 1362272.