एसिंक्रोनस फ़ंक्शंस , कार्यक्रम चलते रहते हैं . यह इंतजार नहीं करता! इस तरह यूजर का वेटिंग टाइम कम हो जाता है। साथ ही, एक प्रोग्रामिंग भाषा के रूप में Javascript अपने आप में अतुल्यकालिक है।
उदाहरण के लिए, यदि कोड में हम एक महंगा अनुरोध चला रहे हैं, जिसके लिए बहुत अधिक समय की आवश्यकता हो सकती है, तो एक एसिंक्रोनस फ़ंक्शन के मामले में, प्रतीक्षा समय बहुत अधिक होगा, और उपयोगकर्ता नहीं होगा कुछ और भी करने में सक्षम हो!
इस प्रकार आम तौर पर हम महंगे और समय लेने वाले संचालन करते समय एसिंक्रोनस कोड का उपयोग करना पसंद करते हैं।
आइए जावास्क्रिप्ट में एनीक्रोनस फ़ंक्शन का एक उदाहरण लेते हैं -
उदाहरण
console.log('One');jQuery.get('page.html', function (data){ कंसोल.लॉग("दो");});console.log('Three');पूर्व> आउटपुट
एक, दो, तीन
अब, देखते हैं कि नोड में इवेंट लूप क्या है।
इवेंट लूप एक थ्रेड शेड्यूल के अंदर बनाया जाता है जिसमें हमारे थ्रेड को किसी भी समय पर संचालन करना चाहिए।
किसी भी Node.js एप्लिकेशन में कॉलबैक शामिल होते हैं जो आने वाली कनेक्शन, I/O पूर्णता, टाइमआउट समाप्ति, वादा समाधान इत्यादि जैसी विभिन्न घटनाओं की प्रतिक्रिया में निष्पादित होते हैं। मुख्य थ्रेड (जिसे अब हम जानते हैं कि इवेंट लूप है) इन सभी कॉलबैक को निष्पादित करता है।
जब इवेंट लूप चल रहे होते हैं, तो प्रत्येक पुनरावृत्ति के लिए नोड जांचता है कि क्या यह किसी एसिंक्रोनस I/O या टाइमर की प्रतीक्षा कर रहा है। और अगर कुछ नहीं मिलता है, तो नोड उन्हें बंद कर देता है।