জাভাস্ক্রিপ্টে সিনক্রোনাস এবং অ্যাসিনক্রোনাস কোড
নিম্নলিখিত কোডটি বিবেচনা করুন:
console.log('1');
console.log('2');
স্পষ্টতই, প্রথমে প্রথম কনসোল লগটি কার্যকর হবে, এবং তারপর - দ্বিতীয়টি। অর্থাৎ, আমাদের কোডের কমান্ডগুলি একের পর এক কার্যকর হয় - কোডে তাদের ক্রম অনুসারে। এই ধরনের কোডকে সিনক্রোনাস কোড বলা হয়।
এখন নিম্নলিখিত কোডটি বিবেচনা করুন:
setTimeout(function() {
console.log('1');
}, 3000);
console.log('2');
এই ক্ষেত্রে, কমান্ডগুলি কোডের ক্রম অনুসারে কার্যকর হয় না: প্রথম কনসোল লগটি কার্যকর হবে যখন তার সময় আসে, কিন্তু বাকি কোড সেই মুহূর্তের জন্য অপেক্ষা করে না, বরং কার্যকর হতে থাকে। এই ধরনের কোডকে অ্যাসিনক্রোনাস কোড বলা হয়।
জাভাস্ক্রিপ্টে অ্যাসিনক্রোনাস কোড প্রায়শই উত্থাপিত হয়: টাইমার নিয়ে কাজ করার সময়, ইভেন্ট হ্যান্ডলার বাঁধার সময়, ইমেজ লোড করার সময়, AJAX প্রযুক্তি নিয়ে কাজ করার সময়, যা সার্ভার থেকে পৃষ্ঠার অংশগুলি লোড করতে দেয়, NodeJS নিয়ে কাজ করার সময়, যা সার্ভার-সাইড জাভাস্ক্রিপ্ট প্রতিনিধিত্ব করে।