JavaScript හි සමමුහුර්ත සහ අසමමුහුර්ත කේතය
පහත කේතය සලකා බලමු:
console.log('1');
console.log('2');
පැහැදිලිවම, පළමු කන්සෝල් ප්රතිදානය ක්රියාත්මක වනු ඇත පසුව - දෙවැන්න. එනම් අපගේ කේතයේ විධාන ඒවා අනුපිළිවෙලට - කේතයේ ඒවා අනුගමනය කරන අනුපිළිවෙලට ක්රියාත්මක වේ. මෙවැනි කේතයක් හඳුන්වන්නේ සමමුහුර්ත (synchronous) කේතය ලෙසය.
දැන් පහත කේතය සලකා බලමු:
setTimeout(function() {
console.log('1');
}, 3000);
console.log('2');
මෙම අවස්ථාවෙහිදී, විධාන කේතයේ අනුපිළිවෙලට ක්රියාත්මක නොවේ: පළමු කන්සෝල් ප්රතිදානය එහි කාලය පැමිණි විට ක්රියාත්මක වේ, නමුත් ඉතිරි කේතය මෙම මොහොත බලා නොසිටී, එය ක්රියාත්මක වෙමින් පවතී. මෙවැනි කේතයක් හඳුන්වන්නේ අසමමුහුර්ත (asynchronous) කේතය ලෙසය.
අසමමුහුර්ත කේතය JavaScript හි බොහෝ විට සිදු වේ: ටයිමර් සමඟ වැඩ කරන විට, සිද්ධි හසුකරන්නන් (event handlers) බැඳීමේදී, රූප ලබා ගන්නා විට, AJAX තාක්ෂණය සමඟ වැඩ කරන විට, එයට සර්වරයෙන් පිටුවේ කොටස් ලබා ගැනීමට ඉඩ සලසයි, NodeJS සමඟ වැඩ කරන විට, එය සර්වර-පාර්ශ්වීය JavaScript නියෝජනය කරයි.