अंतर्निर्मित मॉड्यूलों में से एक है ' पढ़ने के लिए लाइन मॉड्यूल जो पठनीय स्ट्रीम लाइन से डेटा को क्रमिक तरीके से पढ़ता है। इस मॉड्यूल में कई विधियाँ शामिल हैं जो विशेष कार्य करती हैं जैसे कि 'createInterface()' एक रीडलाइन इंटरफ़ेस बनाता है, 'कर्सरटू()' कर्सर को ले जाता है, 'emitKeypressEvents()' कीबोर्ड घटनाओं पर प्रतिक्रिया करता है, और कई अन्य।
यह लेख Node.js में रीडलाइन 'emitKeypressEvents()' की कार्यप्रणाली को प्रदर्शित करेगा।
रीडलाइन 'emitKeypressEvents()' Node.js में कैसे काम करती है?
“ एमिटकीप्रेसइवेंट्स() 'रीडलाइन' मॉड्यूल की पूर्व-निर्धारित विधि है जो कीबोर्ड घटनाओं पर प्रतिक्रिया करती है और दबाए गए कुंजी के आधार पर उन्हें उत्सर्जित करती है। यह कमांड लाइन से निपटने के दौरान कीबोर्ड से सभी कुंजी प्रेस जैसे कि एंटर, डायरेक्शनल कुंजी और कई अन्य का जवाब देता है।
वाक्य - विन्यास
'emitkeypressEvents()' का सामान्यीकृत सिंटैक्स इस प्रकार है:
पढ़ने के लिए लाइन। EmitKeypressEvents ( धारा [ , इंटरफेस ] )
'के सिंटैक्स में उपयोग किए गए पैरामीटर एमिटकीप्रेसइवेंट्स() 'विधि नीचे बताई गई है:
- धारा: यह उस पठनीय स्ट्रीम का प्रतिनिधित्व करता है जिससे डेटा पढ़ा जाता है।
- इंटरफेस: यह एक वैकल्पिक पैरामीटर है जो पहले से बनाई गई 'पठनीय' स्ट्रीम को निर्दिष्ट करता है।
प्रतिलाभ की मात्रा: 'emitKeypressEvents()' कुछ भी वापस नहीं करता है।
अब व्यावहारिक रूप से 'emitKeypressEvents()' विधि का उपयोग करें।
उदाहरण: कीबोर्ड इवेंट को संभालने के लिए 'emitKeypressEvents()' विधि लागू करना
यह उदाहरण दबाई गई कुंजी और उसकी विशेषताओं को प्रिंट करने के लिए 'emitKeypressEvents()' विधि लागू करता है:
कॉन्स्ट पढ़ने के लिए लाइन = ज़रूरत होना ( 'पढ़ने के लिए लाइन' ) ;सांत्वना देना। लकड़ी का लट्ठा ( 'कोई भी कीबोर्ड कुंजी दबाएँ' )
पढ़ने के लिए लाइन। EmitKeypressEvents ( प्रक्रिया। stdin ) ;
अगर ( प्रक्रिया। stdin . isTTY )
प्रक्रिया। stdin . setRawMode ( सत्य ) ;
प्रक्रिया। stdin . पर ( 'बटन दबाओ' , ( स्ट्र, कुंजी ) => {
अगर ( चाबी। Ctrl == सत्य && चाबी। नाम == 'सी' ) {
प्रक्रिया। बाहर निकलना ( )
}
सांत्वना देना। लकड़ी का लट्ठा ( एसटीआर )
सांत्वना देना। लकड़ी का लट्ठा ( चाबी )
} )
उपरोक्त कोड की व्याख्या इस प्रकार है:
- सबसे पहले, ' ज़रूरत होना() 'विधि वर्तमान Node.js प्रोजेक्ट में' रीडलाइन 'मॉड्यूल आयात करती है।
- अगला, ' कंसोल.लॉग() आउटपुट स्क्रीन में उद्धृत कथन प्रदर्शित करता है।
- उसके बाद, ' एमिटकीप्रेसइवेंट्स() 'कीबोर्ड इवेंट को इनपुट स्ट्रीम में किसी भी कीप्रेस पर प्रतिक्रिया देने में सक्षम बनाता है।
- अब ' प्रक्रिया.stdin 'संपत्ति' के साथ संयोजित है ।पर किसी भी कीबोर्ड कुंजी को दबाने पर प्रतिक्रिया देने के लिए कीबोर्ड इवेंट।
- कॉलबैक एरो फ़ंक्शन की परिभाषा में, ' अगर 'स्थिति एक कोड ब्लॉक को परिभाषित करती है जो एक शर्त निर्दिष्ट करती है: यदि ' Ctrl ' कुंजी दबायी गयी है और ' के बराबर है सत्य 'तब दी गई प्रक्रिया' का उपयोग करके बाहर निकल जाएगी प्रक्रिया.निकास() ' तरीका।
- अंत में, ' कंसोल.लॉग() 'विधि' प्रिंट करती है एसटीआर ' और यह ' चाबी 'तर्क मान।
उत्पादन
निष्पादित करें ' सूचकांक.जे.एस नीचे दिए गए आदेश का उपयोग करके फ़ाइल करें:
नोड सूचकांक. जे एसनिम्नलिखित आउटपुट दबायी गयी कुंजी को उसकी विशेषता के साथ प्रदर्शित करता है। प्रक्रिया से बाहर निकलने के लिए 'दबाएँ Ctrl+C ' शॉर्टकट की:
यह सब Node.js में 'emitKeypressEvents()' के काम करने के बारे में है।
निष्कर्ष
रीडलाइन ' एमिटकीप्रेसइवेंट्स() पठनीय स्ट्रीम में किसी भी कीबोर्ड कुंजी को दबाते समय विधि कीबोर्ड इवेंट पर काम करती है। यह विधि कीबोर्ड कुंजी का पता लगाती है और उसकी विशेषता उत्सर्जित करती है। कमांड लाइन में काम करते समय कीबोर्ड कुंजी दबाकर प्रतिक्रिया देना उपयोगी होता है। इस पोस्ट में Node.js में रीडलाइन 'emitKeypressEvents()' विधि की कार्यप्रणाली के बारे में बताया गया है।