Node.js में अवरोधन को समझना?

Node Js Mem Avarodhana Ko Samajhana



ब्लॉकिंग या सिंक्रोनस कोड वह है जो सभी आगामी या अंडर-एक्ज़ीक्यूशन प्रक्रियाओं के निष्पादन को तब तक रोकता या रोकता है जब तक कि वर्तमान में निष्पादित प्रक्रिया संकलित नहीं हो जाती। इस प्रकार के कोड का उपयोग अधिकतर तब किया जाता है जब निष्पादित की जाने वाली प्रक्रियाएं एक-दूसरे पर निर्भर नहीं होती हैं। सरल शब्दों में, पहली विधि के आउटपुट को दूसरे के मूल्य के रूप में फीड नहीं किया जाना चाहिए।

यह मार्गदर्शिका Node.js में ब्लॉकिंग की व्याख्या प्रदान करती है।

Node.js में ब्लॉकिंग को समझें?

Node.js में ब्लॉकिंग को समझने के लिए, '' द्वारा प्रदान की गई ब्लॉकिंग विधियाँ एफ.एस मॉड्यूल का उपयोग परियोजना आवश्यकताओं के अनुसार किया जा सकता है। Node.js में, प्रत्येक विधि जिसमें 'कीवर्ड' होता है साथ-साथ करना ' पसंद ' readFileSync() ', ' नाम बदलेंसिंक() ”, इत्यादि को सिंक्रोनस या ब्लॉकिंग विधियां माना जाता है।







Node.js में इनमें से कुछ अवरोधन विधियों के उदाहरण नीचे बताए गए हैं:



उदाहरण 1: 'fs.renameSync()' विधि को ब्लॉक करने का उपयोग

fs.renameSync() सिंक्रोनस विधि फ़ोल्डर का नाम पुराने नाम या पथ से नए नाम या पथ में बदल देती है। इसका अवरुद्ध व्यवहार अन्य सभी परिचालनों के निष्पादन को तब तक रोक देता है जब तक कि इसका निर्दिष्ट कार्य यानी किसी फ़ोल्डर का नाम बदलना पूरा नहीं हो जाता।



वाक्य - विन्यास





'का मूल वाक्यविन्यास fs.renameSync() 'विधि नीचे लिखी गई है:

एफ.एस. नाम बदलेंसिंक ( पुराना नाम, नया नाम )

उपरोक्त वाक्यविन्यास से पता चलता है कि ' fs.renameSync() 'केवल उस फ़ाइल के पथ की आवश्यकता है जिसे संशोधित करने की आवश्यकता है और अद्यतन फ़ाइल पथ जिसे सेट किया जाएगा।



आइए 'ब्लॉक करने की कार्यप्रणाली को समझने के लिए एक उदाहरण लें' नाम बदलेंसिंक() Node.js में विधि:

वहाँ एफएस है = ज़रूरत होना ( 'एफएस' ) ;

एफ.एस. नाम बदलेंसिंक ( 'usecase.txt' , 'demoAs.json' ) ;

सांत्वना देना। लकड़ी का लट्ठा ( 'फ़ोल्डर का नाम सफलतापूर्वक बदला गया' )

उपरोक्त कोड स्निपेट में:

  • पहले ' एफ.एस मॉड्यूल को एक नए वेरिएबल में एक ऑब्जेक्ट के रूप में आयात और संग्रहीत किया जाता है जिसका नाम है एफ.एस ”।
  • फिर, 'आह्वान करें नाम बदलेंसिंक() ” विधि और पुराने नाम और नए नाम को पैरामीटर के रूप में पास करें।
  • सिंक्रोनस प्रकार कोड के कारण कॉलबैक फ़ंक्शंस का उपयोग करने की कोई आवश्यकता नहीं है।
  • इसके अलावा, प्रक्रियाओं के अवरोधन को दृश्य रूप से सत्यापित करने के लिए कंसोल पर एक डमी संदेश प्रदर्शित करें।

उत्पन्न आउटपुट से पता चलता है कि ब्लॉकिंग की मदद से दिए गए फ़ोल्डर का सफलतापूर्वक नाम बदल दिया गया है। नाम बदलेंसिंक() ' तरीका:

उदाहरण 2: 'mkdirSync()' विधि को अवरुद्ध करने का उपयोग

mkdirSync() 'की पूर्व-परिभाषित तुल्यकालिक विधि है एफ.एस मॉड्यूल जो फ़ाइल सिस्टम में एक फ़ोल्डर/निर्देशिका बनाता है।

वाक्य - विन्यास

'का सामान्यीकृत वाक्यविन्यास mkdirSync() 'विधि नीचे लिखी गई है:

mkdirSync ( पथ, विकल्प )

mkdirSync() 'केवल निम्नलिखित दो मापदंडों पर काम करता है:

  • पथ: यह उस निर्देशिका का सटीक पथ या नाम निर्दिष्ट करता है जिसे बनाने की आवश्यकता है।
  • विकल्प: यह एक वैकल्पिक पैरामीटर है जो किसी फ़ोल्डर के निर्माण को पुनरावर्ती रूप से परिभाषित करता है या नहीं।

आइए 'ब्लॉक करने का एक कोड उदाहरण देखें' mkdirSync() ' तरीका:

सांत्वना देना। लकड़ी का लट्ठा ( 'अवरुद्ध करने के तरीके' ) ;

वहाँ एफएस है = ज़रूरत होना ( 'एफएस' ) ;

एफ.एस. mkdirSync ( 'बक्सों का इस्तेमाल करें' ) ;

सांत्वना देना। लकड़ी का लट्ठा ( 'फ़ोल्डर का नाम सफलतापूर्वक बदला गया' ) ;

उपरोक्त कोड में, परिवर्तित की जाने वाली निर्देशिका का नाम 'के अंदर दिया गया है mkdirSync() ' तरीका। इस विधि को '' द्वारा लागू किया जाता है एफ.एस डमी संदेश के साथ मॉड्यूल ऑब्जेक्ट।

उत्पन्न आउटपुट से पता चलता है कि ' mkdirSync() 'विधि लागू कर दी गई है और यह इस विधि के पूरा होने तक आगामी प्रक्रिया को अवरुद्ध कर रही है:

उदाहरण 3: ब्लॉकिंग 'rmdirSync()' विधि का उपयोग

rmdirSync() ” एक समकालिक विधि है जो दिए गए निर्दिष्ट पथ से फ़ोल्डरों को हटा देती है। इसका समकालिक व्यवहार अन्य सभी परिचालनों के निष्पादन को तब तक अवरुद्ध करता है जब तक कि इसका निर्दिष्ट कार्य यानी किसी फ़ोल्डर को हटाना पूरा नहीं हो जाता।

वाक्य - विन्यास

'का सामान्यीकृत वाक्यविन्यास fs.rmdirSync() 'विधि नीचे लिखी गई है:

एफ.एस. rmdirSync ( पथ, विकल्प )

उपरोक्त वाक्यविन्यास से पता चलता है कि ' rmdirSync() 'केवल' पर काम करता है पथ ' और यह ' विकल्प 'पैरामीटर।

प्रोजेक्ट से लक्षित फ़ोल्डर को हटाने के लिए नीचे दिए गए कोड स्निपेट पर जाएं और फिर हटाने के बाद प्रोजेक्ट में इसकी उपलब्धता की जांच करें:

कॉन्स्ट एफ.एस = ज़रूरत होना ( 'एफएस' ) ;

एफ.एस. rmdirSync ( 'बक्सों का इस्तेमाल करें' )

सांत्वना देना। लकड़ी का लट्ठा ( 'फ़ोल्डर सफलतापूर्वक हटा दिया गया' ) ;

फ़ोल्डर था = एफ.एस. मौजूदसिंक ( 'बक्सों का इस्तेमाल करें' ) ;

सांत्वना देना। लकड़ी का लट्ठा ( 'फ़ोल्डर मौजूद है:' , फ़ोल्डर ) ;

कोड की उपरोक्त पंक्तियों में:

  • सबसे पहले, ' rmdirSync() 'विधि आयातित के माध्यम से लागू की जाती है' एफ.एस मॉड्यूल ऑब्जेक्ट, जिस फ़ाइल को हटाने की आवश्यकता है उसका नाम पैरामीटर के रूप में पारित किया जाता है।
  • अगला, ' कंसोल.लॉग() ” विधि सत्यापन संदेश प्रदर्शित करती है।
  • उसके बाद, ' अस्तित्वसिंक() यह विधि यह इंगित करने के लिए भी लागू की जाती है कि दिया गया फ़ोल्डर वर्तमान निर्देशिका में मौजूद है या नहीं। इस पद्धति का परिणाम या आउटपुट 'में संग्रहीत है फ़ोल्डर ' चर।
  • अंत में, ' कंसोल.लॉग() 'विधि' का मान प्रदर्शित करती है फ़ोल्डर कंसोल पर वैरिएबल।

उत्पन्न आउटपुट से पता चलता है कि लक्षित फ़ोल्डर को ब्लॉक करने की मदद से हटा दिया गया है। rmdirSync() ' तरीका:

यह सब Node.js में अवरोधन के बारे में है।

निष्कर्ष

अवरुद्ध कोड सभी प्रक्रियाओं के निष्पादन को तब तक रोक देता है जब तक कि वर्तमान प्रक्रिया पूरी तरह से निष्पादित नहीं हो जाती। इसका उपयोग विशेष रूप से आश्रित तरीकों या कार्यों के लिए किया जाता है जिनका आउटपुट पिछले फ़ंक्शन परिणामों पर निर्भर होता है। जब प्रक्रियाओं को क्रमिक रूप से निष्पादित करने की आवश्यकता हो तो ब्लॉकिंग कोड भी एक अच्छा विकल्प है। इस गाइड में Node.js में ब्लॉक करने के बारे में विस्तृत जानकारी दी गई है।