NEW
Font size
WorksheetsQuiz tentang Promise dan Async/Await
Total questions: 10
Worksheet time: 5mins
Menurut sumber, apa saja tiga status utama (state) yang dimiliki oleh sebuah objek Promise?
Loading, Success, Error
Running, Finished, Stopped
Executing, Fulfilled, Rejected
Pending, Success, Failure
Pending, Fulfilled (Resolved), Rejected
Sebelum adanya Promise, pengelolaan kode asinkronus sering mengandalkan callbacks. Masalah apa yang diatasi oleh Promise terkait penggunaan callbacks yang berlebihan, yang menghasilkan struktur kode rumit dan sulit dibaca?
Memory leak
Global scope pollution
Blocking main thread
Deadlock
"Callback hell"
Promise adalah objek yang merepresentasikan hasil akhir dari operasi asinkronus. Metode Promise manakah yang dijalankan terlepas dari apakah Promise berakhir sebagai Fulfilled (Resolved) atau Rejected, dan biasanya berguna untuk pembersihan (cleanup) seperti menghentikan loading spinner?
.then()
.catch()
.execute()
.resolve()
.finally()
Async/await adalah sintaks yang dibangun di atas Promise untuk membuat kode asinkronus terlihat seperti sinkronus. Kata kunci manakah yang digunakan untuk mendeklarasikan sebuah fungsi agar secara otomatis membungkus nilai yang dikembalikan dalam sebuah Promise?
await
Promise
return
function
async
Fetch API adalah interface modern untuk membuat permintaan HTTP asinkronus yang berbasis Promise. Dalam konteks Fetch API, mengapa Promise yang dikembalikan oleh fetch() tidak otomatis di-reject ketika terjadi kesalahan HTTP seperti status 4xx atau 5xx?
Karena Fetch hanya mendukung metode GET, bukan POST.
Karena objek Response sudah menyediakan nilai sukses/gagal di properti response.text().
Karena error tersebut secara otomatis ditangani oleh try-catch.
Karena parsing data (misalnya response.json()) akan menangkap semua jenis error.
Karena Fetch tidak me-reject Promise untuk kesalahan status HTTP (4xx/5xx), sehingga kita harus cek manual menggunakan if (!response.ok)
Dalam sintaks Async/Await, kata kunci await digunakan di dalam fungsi asinkronus (async function). Apa fungsi spesifik dari kata kunci await?
Untuk mendeklarasikan fungsi yang mengembalikan Promise.
Untuk menjalankan banyak Promise secara paralel menggunakan Promise.all().
Untuk mengubah hasil Promise menjadi callback function.
Untuk menangani rejection menggunakan blok catch.
Untuk menjeda eksekusi fungsi asinkronus hingga Promise yang dioperasikan telah resolved dan mengembalikan nilainya
Promise memiliki mekanisme untuk menangani kegagalan operasi. Metode apa yang digunakan untuk menangani rejected error dari Promise, mirip dengan fungsi try-catch dalam kode sinkronus?
.then()
.finally()
.execute()
.resolve()
.catch()
JavaScript adalah bahasa pemrograman yang memiliki sifat dasar single-threaded. Operasi apa yang digunakan JavaScript untuk mengelola operasi asinkronus seperti input/output (I/O) atau permintaan jaringan, tanpa memblokir thread utama?
Deferred execution
Dynamic import
Callback hell
Syntactic sugar
Event loop
Ketika menggunakan sintaks async/await, penanganan rejection (kegagalan Promise) dilakukan dengan cara yang mirip dengan penanganan error pada kode sinkronus. Struktur apa yang digunakan untuk menangani error propagation dari Promise yang di-await?
Menggunakan .catch() di akhir fungsi async.
Menggunakan response.ok check.
Menggunakan Promise.all().
Menggunakan sintaks resolve() dan reject().
Menggunakan blok try-catch
Sistem Modul JavaScript (ES6+) memungkinkan organisasi kode menjadi komponen yang dapat digunakan kembali. Kata kunci apa yang digunakan untuk memungkinkan pengaksesan variabel, fungsi, atau nilai dari file modul lain, sehingga memungkinkan modul untuk "mengimpor" fungsionalitas?
export
module
require
dynamic import()
import
