Belajar Memahami Synchronous dan Asynchronous Javascript

Soefyan Syah
Soefyan Syah1 Nov 2021
javascript web synchronous asynchronous

Saya sebagai pemula mecoba menuliskan apa yang saya coba pelajari dalam hal ini saya sangat suka mengikuti perkembangan javascript. jika kita lihat di banyak aplikasi yang di kembangkan menggunakan javascript banyak di temukan sebuah function yang di ekseskusi secara synchronous dan asynchronous atau kita sebut sync dan async ,

Belajar Memahami Synchronous dan Asynchronous Javascript
Photo by Taylor on Unsplash

Javascript dalah sebuah bahasa pemrograman yang default memproses kode secara baris perbaris, setiap baris kode tidak akan di eksekusi sebelum bari kode sebelumnya selesai di proses dan semua akan di simpan di dalam call stack

Mengenal sync dan async

synchronous

sync Synchronous , adalah mode default javascript dalam melakukan proses eksekusi perintah kode. Kita coba dengan kode di bawah ini.

function cekKabar(nama) {
    console.log('Apa kabar,', nama);
}

function sayHallo(nama) {
    console.log('Hallo,', nama);
}

sayHallo('Soefyan');
cekKabar('Soef');

kita coba tulis dan eksekusi baris perintah kode di atas di dalam console browser.

Terlihat semua berjalan baik-baik saja tidak ada yang terlihat aneh.

asynchronous

Jika pada sync, kode di baca dan di proses baris perbaris, dan async kode juga di baca baris perbaris terlihat tidak ada yang berbeda. Lalu di mana perbedaanya ?

Sebenarnya kode async telah di proses, hanya saja sebatas schedule waktu untuk melakukan eksekusi. async akan melakukan eksekusi setelah penjadwalan. Mari kita lihat kode di bawah ini.

function cekKabar(nama) {
    console.log('Apa kabar,', nama);
}

function sayHallo(nama) {
    setTimeout(function(){ console.log('Hallo,', name); }, 3000);
}

sayHallo('Soefyan');
cekKabar('Soef');

mari kita coba eksekusi kodenya.

Terlihat perbedaan pada urutan proses baca kodenya, fungsi sayHallo() tidak langsung di eksekusi.

Kapan Menggunakan Async ?

Pemanfaatan async sangat berguna pada saat melakukan operasi-operasi yang tidak harus menunggu proses yang lainnya. Misalnya, memanipulasi DOM ketika melakukan proses ajax.

Agar bisa memahami, kita perlu mengetahui cara menghandle kode async tersebut dengan cara callback ataupun promises.

Soefyan Syah

Written by Soefyan Syah

Hey there! I hope you find this post useful. If you have anything to say, questions or feedback, send me a tweet or an email.