Blue Flower

Promise & async/await

Its an object which may returns a single value in future.  The returned value is resolved one or reason for not resolved.

It may have only 3 status

1. fulfilled

2. pending

3. rejected

 

console.log('ticket 1');

console.log('ticket 2');

const preMovie = async () => {

            console.log('3.5');

            function gettickets() {

                return new Promise(function (resolve, reject) {

                    setTimeout(() => { resolve('ticket') }, 3000)

                });

            }

            console.log('3.6');

            function getpopcorn() {

                return new Promise(function (resolve, reject) {

                    setTimeout(() => { resolve('popcorn') }, 3000);

                })
            }

            let ticket = await gettickets();

            console.log('3.6');

            let pop = await getpopcorn();

            console.log('3.7');

            let [t1,p1]=await Promise.all([ticket,pop]);

            console.log('3.8');

            console.log(`${t1}... ${p1}`);

            return ticket;

        }

        preMovie().then( (res)=>{console.log(`res:${res}`)});

     

        console.log('ticket 4');

        console.log('ticket 5');

        setTimeout(() => { console.log('ticket 6') }, 10000);

        console.log('ticket 7');


Output:

 

ticket 1
ticker 2
3.5

3.6
ticket 4
ticket 5
ticket 7
3.6
3.7
3.8

ticket...popcorn
res:ticket
ticket 6

 

 

2) let, var, const

3) class

4) spread operator & rest parameter

You have no rights to post comments