आज, मैंने ChatGPT की मदद से Node.js सीखना जारी रखा, और हमने एसिंक्रोनस प्रोग्रामिंग पर ध्यान केंद्रित किया। यह Node.js में सबसे महत्वपूर्ण अवधारणाओं में से एक है, और मैं इसमें महारत हासिल करने के लिए उत्साहित हूं।
लिखित
Node.js में, अतुल्यकालिक प्रोग्रामिंग अपने गैर-अवरुद्ध, इवेंट-संचालित आर्किटेक्चर के कारण महत्वपूर्ण है। इसका मतलब यह है कि फ़ाइल रीडिंग, डेटाबेस क्वेरीज़ या नेटवर्क अनुरोध जैसे ऑपरेशन परिणाम की प्रतीक्षा करते समय अन्य कोड के निष्पादन को अवरुद्ध नहीं करते हैं।
हमने अतुल्यकालिक संचालन को संभालने के तीन मुख्य तरीकों की खोज की:
कॉलबैक: फ़ंक्शंस को अन्य फ़ंक्शंस के लिए तर्क के रूप में पारित किया जाता है, जो एक एसिंक्रोनस ऑपरेशन पूरा होने के बाद निष्पादित होते हैं।
const fs = require('fs'); fs.readFile('example.txt', 'utf8', (err, data) => { if (err) { console.error(err); return; } console.log(data); });
वादे: वस्तुएं एक अतुल्यकालिक ऑपरेशन के अंतिम समापन (या विफलता) और उसके परिणामी मूल्य का प्रतिनिधित्व करती हैं। वादे चेनिंग की अनुमति देते हैं और नेस्टेड कॉलबैक की तुलना में कोड को अधिक पठनीय बनाते हैं।
const fs = require('fs').promises; fs.readFile('example.txt', 'utf8') .then(data => { console.log(data); }) .catch(err => { console.error(err); });
Async/Await: प्रॉमिस के शीर्ष पर निर्मित सिंटेक्स शुगर जो एक सिंक्रोनस तरीके से एसिंक्रोनस कोड लिखने की अनुमति देता है।
const fs = require('fs').promises; async function readFile() { try { const data = await fs.readFile('example.txt', 'utf8'); console.log(data); } catch (err) { console.error(err); } } readFile();
व्यावहारिक कार्य
आज, मैंने कॉलबैक-आधारित फ़ंक्शन को वादा-आधारित फ़ंक्शन में परिवर्तित करने का अभ्यास किया।
कॉलबैक के साथ मूल कोड:
const fs = require('fs'); function readFileCallback(path, callback) { fs.readFile(path, 'utf8', (err, data) => { if (err) { callback(err); return; } callback(null, data); }); } readFileCallback('example.txt', (err, data) => { if (err) { console.error(err); return; } console.log(data); });
वादों में रूपांतरण:
const fs = require('fs').promises; function readFilePromise(path) { return fs.readFile(path, 'utf8'); } readFilePromise('example.txt') .then(data => { console.log(data); }) .catch(err => { console.error(err); });
स्वतंत्र कार्य
मैंने एसिंक/वेट का उपयोग करके एक एसिंक्रोनस फ़ंक्शन भी लिखा है जो फ़ाइल की सामग्री को पढ़ता है और इसे कंसोल पर लॉग करता है। यदि कोई त्रुटि होती है (उदाहरण के लिए, फ़ाइल नहीं मिली), तो उसे त्रुटि पकड़नी चाहिए और उसे लॉग करना चाहिए।
const fs = require('fs').promises; async function readFileAsync(path) { try { const data = await fs.readFile(path, 'utf8'); console.log(data); } catch (err) { console.error(err); } } readFileAsync('example.txt');
संसाधन
ChatGPT द्वारा बनाए गए सभी पाठ यहां पाए जा सकते हैं: https://king-tri-ton.github.io/learn-nodejs
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3