Quick actions

cmd+k|ctrl+k

Navigation

Languages

Async-Await Syntax

Snippet info

Language

JavaScript

Visibility

public

Author

tulangrusuk.ku

Created

2020-08-07T15:29:26Z

Updated

2020-08-07T15:36:39Z

/* Kita dapat menuliskan asynchronous process layaknya synchronous process 
dengan bantuan keyword async dan await. */

//Fungsi getCoffee() yang dibangun menggunakan promise.
const getCofee = () => {
    return new Promise((resolve, reject) => {
        const seeds = 100;
        setTimeout(() => {
            if(seeds >= 190) {
                resolve("Cofee didapatkan!");
            } else {
                reject("Biji kopi habis!")
            }
        }, 1000)
    })
}

//Dengan async/await, kita dapat menggunakan promise dengan cara seperti ini:
async function makeCofee(){
    const cofee = await getCofee();
    console.log(cofee);
}

makeCofee();

/* Keyword async : digunakan untuk memberitahu JavaScript untuk menjalankan fungsi
makeCoffee() secara asynchronous. 
Lalu keyword await : digunakan untuk menghentikan proses pembacaan kode 
selanjutnya sampai fungsi getCoffee() mengembalikan nilai promise resolve. */

/*Handle onRejected using async/await
 await hanya akan mengembalikan nilai jika promise 
 berhasil dilakukan (onFulfilled)
 Ketika menggunakan async/await, biasakan ketika mendapatkan resolved value 
 dari sebuah promise, untuk menempatkannya di dalam block try 
 seperti ini: */
async function membuatKopi() {
    try{
        const cofee = await getCofee();
        console.log(cofee);
    } catch(rejectedReason){
        console.log(rejectedReason);
    }
}

membuatKopi();
INFO