new Set(); cart.add('item1'); cart.add('item2'); cart.add('item1'); // Tidak berpengaruh Async Await untuk Handling Promise Async/Await untuk Handling Promise Async/await adalah sintaks ES2017 yang membuat kode asynchronous (berbasis Promise) terlihat seperti synchronous, sehingga lebih mudah ... dibaca dan dikelola. 1. Dasar Penggunaan Fungsi dengan async selalu mengembalikan Promise. await hanya bisa dipakai di dalam async function. Contoh: async function fetchData() { const response = await fetch('https://api.example.com/data'); // Pause sampai Promise selesai const data = await
fungsi: function sapa(nama) { return `Halo, ${nama}!`; } console.log(sapa("Dian")); // Output: "Halo, Dian!" 3. Event Handling Contoh interaksi dasar dengan DOM: document.querySelector("#tombol").addEventListener("click", () => { alert("Tombol diklik!"); }); 4. Async/Await Handle operasi ... asynchronous seperti fetch API: async function fetchData() { const response = await fetch("https://api.example.com/data"); const data = await response.json(); console.log(data); } Kesalahan Umum Pemula: Lupa memanggil fungsi dengan (). Bingung antara == dan === (Baca perbedaannya di sini). Tips
menangani operasi asinkron tanpa harus membuat banyak callback bersarang. Dengan Promise, kode menjadi lebih bersih dan lebih mudah dipahami. Async/Await: Fitur async dan await juga dapat digunakan untuk menangani operasi asinkron dengan cara yang lebih mirip dengan operasi sinkron. Ini sangat ... dapat menimbulkan callback hell jika tidak ditangani dengan baik. Menggunakan teknik seperti Promise atau async/await dapat membantu mengatasi masalah ini dan membuat kode lebih bersih serta lebih mudah dipahami.
Optimasi JavaScript untuk Web Perbedaan Callback, Promise, dan Async/Await Dalam JavaScript, callback adalah fungsi yang dioper sebagai argumen ke dalam fungsi lain dan dieksekusi setelah operasi tertentu selesai. Ini adalah teknik asli dalam JavaScript untuk menangani operasi asinkron. Namun, ... async/await, yang membuat penanganan operasi asinkron lebih mudah dan kode terlihat seperti sinkron. Fungsi `async` mengembalikan Promise, dan kata kunci `await` dapat digunakan di dalamnya untuk menunggu Promise tersebut selesai. Ini membuat alur logika asinkron kita lebih mudah dibaca dan
server. Namun, penting juga untuk memperhatikan "callback hell" atau situasi di mana banyak callback bersarang satu sama lain, membuat kode menjadi sulit dibaca dan dikelola. Untuk mengatasi ini, pendekatan modern seperti Promises dan async/await dapat digunakan sebagai alternatif dalam menangani ... di-debug. Teknik seperti named functions dan modularisasi fungsi dapat membantu dalam mengorganisir callback agar lebih terstruktur. Promises dan async/await adalah konsep yang mengambil inspirasi dari callback namun menawarkan sintaks yang lebih bersih dan penanganan error yang lebih baik.
mudah untuk diintegrasikan dengan fitur-fitur baru ES6 seperti async/await. Sebagai contoh, mari kita lihat bagaimana kita bisa mengubah fungsi yang menggunakan callback menjadi promise: function getDataCallback(apiUrl, callback) { // Simulasi pemanggilan API dengan callback setTimeout(() => { ... tindakan yang sesuai, baik itu log kesalahan, mengirim respons ke pengguna, atau bahkan mengulang operasi asinkron tersebut. Berikut adalah contoh kode yang menunjukkan penggunaan `try...catch` dalam fungsi `async`: async function fetchData(url) { try { let response = await fetch(url); let data =