JavaScript-da sinxron va asinxron kod
Quyidagi kodni ko'rib chiqaylik:
console.log('1');
console.log('2');
Aniqki, avval konsolga birinchi chiqarish ishlaydi, keyin esa - ikkinchi. Ya'ni kodimizning buyruqlari navbat bilan - kodda kelgan tartibda bajariladi. Bunday kod sinxron deb ataladi.
Endi quyidagi kodni ko'rib chiqaylik:
setTimeout(function() {
console.log('1');
}, 3000);
console.log('2');
Bunday holda buyruqlar kodda kelgan tartibda bajarilmaydi: birinchi konsolga chiqarish o'z vaqti kelganda bajariladi, lekin qolgan kod bu paytni kutmaydi, balki bajarilishni davom ettiradi. Bunday kod asinxron deb ataladi.
Asinxron kod JavaScript-da etarlicha tez-tez paydo bo'ladi: taymerlar bilan ishlashda, hodisa ishlovchilarini bog'lashda, rasmlarni yuklashda, sahifaning qismlarini serverdan yuklashga imkon beruvchi AJAX texnologiyasi bilan ishlashda, serverli JavaScriptni ifodalovchi NodeJS bilan ishlashda.