Open In App

Why we use then() method in JavaScript ?

The then() method in JavaScript has been defined in the Promise API and is used to deal with asynchronous tasks such as an API call. Previously, callback functions were used instead of this function which made the code difficult to maintain.

Syntax:

demo().then(
(onResolved) => {
// Some task on success
},
(onRejected) => {
// Some task on failure
}
)

Note: demo is a function that returns a promise prototype.

Parameters:

Return Value:

This method can either return a Promise (if further another then() is called) or nothing.



Example 1: In this example, we have not passed any arguments




function demo() {
    console.log("Function called!!<br>")
    return Promise.resolve("Success");
    // or
    // return Promise.reject("Failure");
}
demo().then()

 Output: 



Function called!!

Example 2: In this example, we are Passing only the first callback




function demo() {
    console.log("Function called!!")
    return Promise.resolve("Success");
    // or
    // return Promise.reject("Failure");
}
demo().then(
    (message) => {
        console.log("Then success:" + message);
    }
)

Output: 

Function called!!
Then success:Success

Note: If the demo function returns a reject then it will generate an error.

Example 3: In this example, we are Passing both the arguments




function demo() {
    console.log("Function called!!")
    return Promise.resolve("Success");
    // or
    // return Promise.reject("Failure");
}
demo().then(
    (message) => {
        console.log("Then success:" + message);
    },
    (message) => {
        console.log("Then failure:" + message);
    }
)

 Output: 

Function called!!
Then success:Success

Example 4: In this example, we are using Chaining Multiple then() methods. Each then() can return a promise (a resolve or a reject) and therefore multiple then() methods can be chained together.




function demo() {
    console.log("Function called!!")
    return Promise.resolve(1);
    // or
    // return Promise.reject("Failure");
}
demo().then(
    (value) => {
        console.log(value);
    return ++value;
    },
    (message) => {
        console.log(message);
    }
    ).then(
    (value) => {
        console.log(value);
    },
    (message) => {
        console.log(message);
    }
)

 Output: 

Function called!!
12

Example 5: In this example, we are using then() as an asynchronous function 




let demo = new Promise((resolve, reject) => {
    resolve(1);
})
let call = demo.then(
    (value) => {
        console.log(value);
        return ++value;
    },
    (message) => {
        console.log(message);
    });
    console.log(call);
    setTimeout(() => {
    console.log(call);
});

Output: 

Promise {status: "pending"}
1
Promise {status: "resolved", result: 2}

Supported Browsers:


Article Tags :