The Promise.prototype property represents the prototype for the Promise constructor.
Property attributes of Promise.prototype |
|
|---|---|
| Writable | no |
| Enumerable | no |
| Configurable | no |
Description
Promise instances inherit from Promise.prototype. You can use the constructor's prototype object to add properties or methods to all Promise instances.
Properties
Promise.prototype.constructor- Returns the function that created an instance's prototype. This is the
Promisefunction by default.
Methods
Promise.prototype.catch(onRejected)- Appends a rejection handler callback to the promise, and returns a new promise resolving to the return value of the callback if it is called, or to its original fulfillment value if the promise is instead fulfilled.
Promise.prototype.then(onFulfilled, onRejected)- Appends fulfillment and rejection handlers to the promise, and returns a new promise resolving to the return value of the called handler, or to its original settled value if the promise was not handled (i.e. if the relevant handler
onFulfilledoronRejectedis not a function).
Specifications
| Specification | Status | Comment |
|---|---|---|
| ECMAScript 2015 (6th Edition, ECMA-262) The definition of 'Promise.prototype' in that specification. |
Standard | Initial definition. |
| ECMAScript Latest Draft (ECMA-262) The definition of 'Promise.prototype' in that specification. |
Draft |
Browser compatibility
To contribute to this compatibility data, please write a pull request against this repository: https://github.com/mdn/browser-compat-data.
| Feature | Chrome | Firefox | Edge | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|---|
| Basic Support | 32.0 | 29.0 | (Yes) | (No) | 19 | 7.1 |
| Feature | Android | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS Safari |
|---|---|---|---|---|---|---|---|
| Basic Support | 4.4.4 | 32.0 | (Yes) | 29 | (No) | (Yes) | 8.0 |