जावास्क्रिप्ट में सिंक्रोनस और एसिंक्रोनस कोड
निम्नलिखित कोड पर विचार करें:
console.log('1');
console.log('2');
जाहिर है, पहले कंसोल में पहला आउटपुट काम करेगा, और फिर - दूसरा। यानी हमारे कोड के कमांड एक के बाद एक निष्पादित होते हैं - उनके कोड में अनुक्रम के क्रम में। ऐसे कोड को सिंक्रोनस कहा जाता है।
अब निम्नलिखित कोड पर विचार करें:
setTimeout(function() {
console.log('1');
}, 3000);
console.log('2');
इस मामले में, कमांड कोड में अनुक्रम के क्रम में निष्पादित नहीं होते हैं: कंसोल में पहला आउटपुट तब निष्पादित होगा जब उसका समय आता है, लेकिन बाकी कोड इस क्षण की प्रतीक्षा नहीं करता, बल्कि निष्पादित होना जारी रखता है। ऐसे कोड को एसिंक्रोनस कहा जाता है।
जावास्क्रिप्ट में एसिंक्रोनस कोड काफी बार उत्पन्न होता है: टाइमर के साथ काम करते समय, इवेंट हैंडलर बांधते समय, इमेज लोड करते समय, AJAX तकनीक के साथ काम करते समय, जो सर्वर से पेज के हिस्से लोड करने की अनुमति देती है, NodeJS के साथ काम करते समय, जो सर्वर-साइड जावास्क्रिप्ट का प्रतिनिधित्व करता है।