Pahami Konsep Dan Beda Synchronous vs Asynchronous
Synchronous dan Asynchronous adalah sifat alamiah dari javascript yang harus kalian pahami jika ingin mendalami dan fokus di bahasa pemograman javascript. Ini salah satu keunggulan javascript dibanding bahasa lain semisal PHP yang secara alami adalah Synchronous.
Synchronous dan Asynchronous?
Secara mudahnya perbedaan Synchronous dan Asynchronous dapat dilihat dari cara javascript mengeksekusi baris perbaris code.
Synchronous
Kode akan dieksekusi baris perbaris. Misal code memiliki 2 baris, baris ke 2 tidak akan dieksekusi sebelum baris ke 1 selesai.
Asynchronous
Kode tetap akan dieksekusi baris perbaris tetapi tidak harus menunggu baris sebelumnya. Misal code memiliki 2 baris, baris ke 2 bisa saja dieksekusi sebelum baris ke 1 selesai dieksekusi.
Contoh Di Kehidupan Nyata
Mari kita perhatikan video berikut:
Ini adalah contoh Asynchronous di kehidupan nyata, orang yang sedang bersepeda menyalami temannya sambil tetap membiarkan sepedanya berjalan.
Konsep Asynchronous Di Fitur Upload Video Facebook
Kita tetap bisa beralih ke fitur lain sambil tetap membiarkan task pemprosesan video berjalan.
Contoh Pada Javascript
Perhatikan kedua contoh di bawah ini,
Contoh Synchronous
Output code diatas akan dieksekusi sesuai dengan urutan baris.
Contoh Asynchronous
Output sesuai tidak dieksekusi sesuai urutan baris perintah.
Contoh Asynchronous Pada Proses Fetch
Kita akan membuat barisan code untuk menjalankan perintah upload gambar menggunakan Fetch.
fetch("https://example.com/profile/avatar", {
method: "PUT",
body: formData,
}).then((data) => {
// jika gambar avatar berhasil diupload
}).catch((data) => {
// jika gambar avatar gagal diupload
});
// kerjakan hal lain disini, tanpa harus menunggu proses upload selesai
console.log("other task");
Perhatikan bagian console.log("other task")
, perintah ini dapat kita jalankan tanpa harus menunggu proses upload gambar avatar ke server selesai.
Ciri Function Yang Dapat Dijalankan Secara Asynchronous
Secara mudah kalian dapat mengetahui suatu function dapat dijalankan secara Asynchronous jika function tersebut memberi nilai return berupa Promise.
Kapan Asynchronous Umumnya Digunakan?
Umumnya Asynchronous digunakan pada task yang berpotensi berjalan secara lama. Misal, proses upload file ke server atau access user camera dan mic.
Kesimpulan
Disini dapat kita tarik kesimpulan Asynchronous ialah kondisi kita mengerjakan task b sambil menunggu task a selesai atau tanpa harus menunggu task a selesai.
Jika kalian sudah paham dengan Asynchronous dan Synchronous, wajib juga kalian paham apa itu Callback, Promise dan Async/Await. Jika masih belum paham, kalian dapat bertanya dan berdiskusi di channel Diskord Asinkron Indonesia, klik linknya dibawah ya.
Silahkan Login/Sign Up
😞 Discord eklusif buat member asinkron.com
Jangan khawatir silahkan Daftar GRATIS 😎
*Link discord akan dikirim ke email yang anda gunakan untuk mendaftar.