Methods in Promise
Promise methods are divided into Instance Methods and Static Methods.
1. Instance Methods
These methods are called on a Promise object.
const promise = new Promise((resolve, reject) => {
resolve("Success");
});
.then()
Handles a successful result.
promise.then((data) => {
console.log(data);
});
Output:
Success
.catch()
Handles errors or rejected promises.
const promise = new Promise((resolve, reject) => {
reject("Something went wrong");
});
promise.catch((error) => {
console.log(error);
});
Output:
Something went wrong
.finally()
Runs whether the promise is fulfilled or rejected.
const promise = new Promise((resolve, reject) => {
resolve("Done");
});
promise
.then((data) => console.log(data))
.finally(() => console.log("Finished"));
Output:
Done
Finished
2. Static Methods
These methods are called directly on the Promise class.
Syntax: Promise.methodName()
Promise.resolve()
Creates an already fulfilled promise.
const promise = Promise.resolve("Hello");
promise.then((data) => {
console.log(data);
});
Output
Hello
Promise.reject()
Creates an already rejected promise.
const promise = Promise.reject("Error");
promise.catch((error) => {
console.log(error);
});
Output
Error
Promise.all()
Waits for all promises to succeed.
const p1 = Promise.resolve("Task 1");
const p2 = Promise.resolve("Task 2");
const p3 = Promise.resolve("Task 3");
Promise.all([p1, p2, p3])
.then((result) => {
console.log(result);
});
Output
["Task 1", "Task 2", "Task 3"]
If any promise fails:
const p1 = Promise.resolve("Task 1");
const p2 = Promise.reject("Task 2 Failed");
const p3 = Promise.resolve("Task 3");
Promise.all([p1, p2, p3])
.catch((error) => {
console.log(error);
});
Output
Task 2 Failed
Promise.allSettled()
Waits for all promises to complete, whether success or failure.
const p1 = Promise.resolve("Success");
const p2 = Promise.reject("Failed");
Promise.allSettled([p1, p2])
.then((result) => {
console.log(result);
});
Output
[
{ status: "fulfilled", value: "Success" },
{ status: "rejected", reason: "Failed" }
]
Promise.race()
Returns the result of the first promise that settles (success or failure).
const p1 = new Promise((resolve) => {
setTimeout(() => resolve("Task 1"), 3000);
});
const p2 = new Promise((resolve) => {
setTimeout(() => resolve("Task 2"), 1000);
});
Promise.race([p1, p2])
.then((result) => {
console.log(result);
});
Output
Task 2
Because p2 finished first.
Promise.any()
Returns the first successful promise.
const p1 = Promise.reject("Error 1");
const p2 = new Promise((resolve) => {
setTimeout(() => resolve("Success"), 2000);
});
const p3 = Promise.reject("Error 3");
Promise.any([p1, p2, p3])
.then((result) => {
console.log(result);
});
Output
Success
Top comments (0)