Menu
CoddyTech

Async & Await

Pelajaran 9 dari 9 dalam kursus Bagian Rumit JavaScript Modern (ES6+) di Coddy.

Jika kamu sudah menyelesaikan pelajaran sebelumnya, kamu mungkin berpikir bahwa promise sulit dipahami atau bahkan sulit mengingat sintaksnya!

Jangan khawatir! ES6 hadir untuk membantumu. 

<i>async</i> dan <i>await</i> membuat promise lebih mudah ditulis

Bayangkan sebuah fungsi yang menjalankan tugas asinkron (yang memakan waktu). 

Kita ingin fungsi ini mengembalikan promise dan juga menunggu hasil promise tersebut.

Jika kita menulis async sebelum fungsi Javascript apa pun, fungsi tersebut selalu mengembalikan promise.

await akan membuat fungsi menunggu promise dan menghentikan eksekusi fungsi sampai promise tersebut diselesaikan.

Bayangkan contoh pengambilan data dari server, proses ini mungkin memerlukan beberapa detik.

 async function fetchData () {
 	const response = await fetch("/url"); // tunggu promise selesai
  	const movies = await response.json(); // tunggu promise selesai
  	return movies;
  } 
  
  fetchData.then(val => console.log(val)) // data yang dikembalikan dari API

Kata kunci await hanya dapat digunakan di dalam fungsi async.

async-await dapat digunakan dalam fungsi biasa maupun fungsi panah.

const someFunc = async (a) => { await //code }
challenge icon

Tantangan

Sedang

Kamu diberi fungsi foo, yang menerima bilangan bulat n dan mengembalikan sebuah promise.

Tulis fungsi sum yang menerima dua promise sebagai input dan mengembalikan jumlah hasil yang diperoleh setelah keduanya diselesaikan.

Fungsi tersebut harus ditandai dengan async!

Coba sendiri

const foo = async (x) => {
    return x
}

// Tulis kodemu di bawah ini

Semua pelajaran di Bagian Rumit JavaScript Modern (ES6+)

Latihan sendiri: Compiler JavaScript online