Halo, selamat datang kembali di Sandi Dharma Blog. Pada postingan kali ini kita akan mengenal apa itu Synchronous dan Asynchronous pada Javascript.
Synchronous pada Javascript
Synchronous berarti sequence atau berurut. Pada konsep ini, setiap statement kode dieksekusi baris per baris. Artinya, sebuah statement harus menunggu statement sebelumnya selesai dieksekusi. Buat lebih jelasnya, perhatikan Misalnya kode berikut.
document.write("Halo
"); // baris ini akan dieksekusi pertama kali
document.write("Welcome to Sandi Dharma
"); // baris ini akan dieksekusi setelah baris di atasnya
Output:
Halo
Welcome to Sandi Dharma
Pada Misalnya kode di atas, baris kode pertama akan dieksekusi setelah itu barulah baris berikutnya. Seperti yang Dapat kita lihat, proses eksekusi baris dilakukan secara berurutan. Setiap baris kode harus menunggu baris kode sebelumnya selesai dieksekusi. Sehingga, yang tampil adalah tesk Halo, setelah itu Welcome to Sandi Dharma.
Asynchronous pada Javascript
Asyncrhonous merupakan kebalikan dari proses syncrhonous. Kalau synchronous akan memblok proses eksekusi karena menunggu baris sebelumnya selesai, pada konsep asynchronous, baris kode dapat dieksekusi segera meskipun baris kode sebelumnya belum selesai dieksekusi. Buat lebih jelasnya, perhatikan Misalnya kode berikut ini.
document.write("Halo
");
setTimeout(() => {
document.write("Hello World");
}, 2000);
document.write("Welcome to Sandi Dharma
");
Output:
Halo
Welcome to Sandi Dharma
Hello World
Pada awalnya, seperti Biasa, baris Halo akan dieksekusi. Begitu dijalankan di browser, Eksis API web yang menangani fungsi setTimeout. Kemudian, program Maju dijalankan seperti Biasa hingga Begitu mencapai waktu 2 detik, baris Hello World akan dieksekusi. Bukan Eksis proses blok yang mengharuskan fungsi setTimeout selesai, sehingga baris terakhir langsung dijalankan. Seperti itulah yang terjadi pada proses asynchronous.