PromiseRejectionEvent: promise property
{{APIRef("HTML DOM")}} {{AvailableInWorkers}}
The {{domxref("PromiseRejectionEvent")}} interface’s
promise read-only property indicates the JavaScript
{{jsxref("Promise")}} which was rejected. You can examine the event’s
{{domxref("PromiseRejectionEvent.reason")}} property to learn why the promise was
rejected.
Value
The JavaScript {{jsxref("Promise")}} which was rejected, and whose rejection went
unhandled.
Examples
This example listens for unhandled promises and, if the
{{domxref("PromiseRejectionEvent.reason", "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.
{{domxref("event.preventDefault()")}} is called to indicate that the promise has now
been handled.
window.onunhandledrejection = (event) => {
if (event.reason?.code === "Module not ready") {
requestIdleCallback((deadline) => {
loadModule(event.reason.moduleName).then(performStartup);
});
event.preventDefault();
}
};
Specifications
{{Specifications}}
Browser compatibility
{{Compat}}
See also
- Promise rejection events
{{jsxref("Promise")}}{{domxref("PromiseRejectionEvent")}}{{domxref("Window.rejectionhandled_event", "rejectionhandled")}}{{domxref("Window.unhandledrejection_event", "unhandledrejection")}}