A Promise is an object representing the eventual completion (or failure) of an asynchronous operation.
const promise = new Promise((resolve, reject) => {
setTimeout(() => {
const success = true;
success ? resolve('Done!') : reject('Failed');
}, 1000);
});
promise
.then(result => console.log(result))
.catch(error => console.error(error));
- A promise is always in one of three states: pending, fulfilled or rejected
- Once settled (fulfilled/rejected), a promise's outcome never changes
- .then() registers success handlers; .catch() registers error handlers
- .finally() runs regardless of outcome — great for cleanup