वादा और कनेक्शन मुद्दे
इस Node.js कोड में, एक वादे से अपेक्षा की जाती है कि वह findUser फ़ंक्शन के पूरा होने की प्रतीक्षा करे, जो यदि ऐसा नहीं होता। समस्या डेटाबेस प्रश्नों के अतुल्यकालिक निष्पादन से उत्पन्न होती है। यह फ़ंक्शन एक कॉलबैक फ़ंक्शन को एक तर्क के रूप में लेता है, जिसे कनेक्शन तैयार होने पर कॉल किया जाता है। हालाँकि, कोड इस कॉलबैक के भीतर गलत तरीके से डेटा लौटाता है, जिसके कारण क्वेरी पूरी होने से पहले अपरिभाषित लौटाया जाता है। यह दर्शाता है कि क्वेरी सफल थी या नहीं।
वादों की शृंखला
वादों का उपयोग कोड को अनुमति देता है क्रमिक रूप से निष्पादित किया जाए। प्रदान किए गए कोड में, पहले वादे को कॉलबैक फ़ंक्शंस के बजाय फिर का उपयोग करके अगले वादे से जोड़ा जाना चाहिए, जैसा कि नीचे दिखाया गया है:
promise.then(function(rows) { नया वादा लौटाएं (फ़ंक्शन (समाधान, अस्वीकार) { लॉगिनसी.कुछ करें(डेटा); अगर (सफलता) { समाधान(डेटा); } अन्य { अस्वीकार(कारण); } }); }, फ़ंक्शन(कारण) { कंसोल.लॉग ("त्रुटि हैंडलर दूसरा"); });
त्रुटि प्रबंधन
'त्रुटि हैंडलर दूसरा' संदेश आउटपुट होने का कारण यह है कि डेटाबेस कनेक्शन विफल होने पर एक त्रुटि उत्पन्न होती है। कनेक्शन.ऑन('एरर') इवेंट श्रोता में त्रुटि प्रबंधन का सही ढंग से उपयोग नहीं किया गया है। यह त्रुटि फाइंडयूजर फ़ंक्शन में प्रसारित होती है और चेनिंग में दूसरे त्रुटि हैंडलर द्वारा कैप्चर की जाती है। .
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3