Open In App

How to access Previous Promise Results in Then Chain ?

In this article, we will discuss how to access previous promise results by using “then” in JavaScript. In a series of promises connected by then, each subsequent step receives the outcome of the previous promise’s resolution. This sequential passing of results permits ongoing access and handling of prior promises’ resolved values, allowing for a continuous flow of data between asynchronous operations in the chain.

A Promise is basically an object that represents the completion (or failure) of an asynchronous operation along with its result. A promise has 3 types of states and based upon these states, the promise executes the results:



Syntax

new Promise((resolve) => {
    setTimeout(() => {
    
       // Any operations
    }, 1000);
})
.then((result) => {

    // For handling resolve 
})
.then((result) => {

   // For handling resolve 
})
.catch((error) => {

    // For Handling errors 
});

Accessing Previous Promise Results in Then Chain

In a chain of promises using the .then() method, each step handles the result passed from the prior promise, facilitating a continuous flow of data or actions between each asynchronous operation. Below are the steps to implement:

Example: This example illustrates how we can access previous promise results in Then Chain.






// Creating a promise
  
const initialPromise = new Promise((resolve, reject) => {
    setTimeout(() => {
        let ans = 50;
        resolve(ans);
    }, 3000);
});
  
// Chain "then" method for 
// accessing the previous promise result
  
initialPromise
    .then((result) => {
        console.log("The first resolve output is", result);
        return result * 5 * 2;
    })
    .then((result) => {
        console.log("The second resolve output is", result);
  
        return result / 2;
    })
    .catch((error) => {
        console.error("The error occurred:", error);
    });

Explanation

Output

The first resolve output is 50
The second resolve output is 500
Article Tags :