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
asyncsebelum 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 APIKata kunci
awaithanya dapat digunakan di dalam fungsiasync.
async-await dapat digunakan dalam fungsi biasa maupun fungsi panah.
const someFunc = async (a) => { await //code }Tantangan
SedangKamu 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 iniSemua pelajaran di Bagian Rumit JavaScript Modern (ES6+)
2Ayo menyelam lebih dalam
Cakupan blok: let & constFungsi panahSpread dan Restfor - of loopClassPromiseAsync & AwaitLatihan sendiri: Compiler JavaScript online