In this section, we will learn what the Promise resolve() method is and how to use it in JavaScript.
Note: we’re assuming you’re already familiar with the Promise object.
What is Promise resolve() Method in JavaScript?
A promise does not necessarily need to begin in a pending state and utilize an executor function to reach a settled state. It is possible to instantiate a promise in the `resolved` state by invoking the `Promise.resolve()` static method.
Promise resolve() Method Syntax:
Promise.resolve(value);
Promise resolve() Method Parameters
The method takes one argument and that is a resolving value. This value could be anything from a simple string value to another promise object. The resolve() method simply passes that argument to the handler.
Promise resolve() Method return value
The return value of this method is a resolved Promise object.
Example: using Promise resolve() method in JavaScript
const prom = Promise.resolve("The promise is resolved"); prom.then(value=>{ console.log("The resolved handler"); console.log(value); },failed=>{ console.log("The rejection of the 'then' method"); console.log(failed); }).finally(()=>{ console.log("The finally handler"); });
Output:
The resolved handler The promise is resolved The finally handler
As you can see, the `onResolved()` handler of the promise `prom` is called. This is because we’ve created a promise via the `resolve()` method, and that means the promise is already resolved.
Note: if we pass another promise object into the `resolve()` method, it will simply pass that promise.
Example: passing a promise object as the argument of resolve() method in JavaScript
const pr = new Promise((resolve, reject)=>{ reject("The promise rejected"); }); const prom = Promise.resolve(pr); console.log(prom==pr); prom.then(value=>{ console.log("The resolved handler"); console.log(value); },failed=>{ console.log("The rejection of the 'then' method"); console.log(failed); }).finally(()=>{ console.log("The finally handler"); });
Output:
true The rejection of the 'then' method The promise rejected The finally handler
The result of the statement below is true:
console.log(prom==pr);
This proves that if we pass another promise to the `resolve()` method, it will simply pass that promise-object.
Also, the result of the promise that we set as the argument of the `resolve()` method defines which handler should be called.