Asynchronous - Synchronous : Callback Function

Run Settings
LanguageJavaScript
Language Version
Run Command
function br(){ console.log(""); } /* Callback Function Bagaimana menangani suatu nilai yang didapatkan secara asynchronous pada program yang berjalan secara synchronous. Contohnya kasus nya seperti kode berikut:*/ const getCake = () => { let cake = null; console.log("Sedang membuat kue, silakan tunggu....") setTimeout(() => { cake = "kue Selesai" }, 3000); return cake; } const cake = getCake(); console.log(cake); /* Apa itu callback function? Mari kita bayangkan kembali melalui pandangan dunia nyata. Kita menunggu pesanan kopi datang di meja kita tapi , pada saat itu juga kita tidak bisa berada terus di tempat itu karena ada urusan mendadak. Pada kasus ini mungkin terdapat dua aksi yang bisa kita lakukan: (Synchronous) Kita tetap menunggu di meja hingga kopi itu datang dan kemudian meninggalkan kedai kopi. (Asynchronous) Kita meminta tolong kepada teman kita untuk menerima kopi itu, dan bertemu nanti untuk memberikan kopinya. Sehingga kita tidak perlu menunggu untuk meninggalkan kedai kopi. Nah pada JavaScript, teman kita berperan layaknya callback function. Ia diperintahkan pada sebuah fungsi asynchronous kemudian akan dipanggil/digunakan ketika tugas itu selesai. Bagaimana cara melakukannya? Yang pertama kita tambahkan parameter dengan nama callback pada fungsi asynchronous.*/ const getCofee = callback => { let cofee = null; console.log("Kopi sedang dibuat, silakan tunggu :)"); setTimeout(() => { cofee = "Cofee Selesai, selamat menikmati :)"; //Kemudian kita panggil/gunakan callback yang diisikan dengan data //yang akan dibawa (cofee) ketika task selesai dilakukan. callback(cofee); },3000); /*Setelah menggunakan callback diatas, fungsi tidak perlu lagi mengembalikan nilai. Sehingga kita bisa hapus kode return cake; */ //return cofee; }; br(); //memanggil fungsi getCofee getCofee(cofee => { console.log(cofee); })
Editor Settings
Theme
Key bindings
Full width
Lines