मैं एक फ्रंट एंड विकसित कर रहा हूं जो सर्वर द्वारा प्रदान की गई JSON सेवाओं का उपभोग करता है।कोणीय 2 HTTP - यह समझने के लिए कि बैकएंड सर्वर
मैं खुशी से कोणीय 2 के HTTP का उपयोग करता हूं और मैं .catch()
ऑपरेटर के माध्यम से त्रुटियों को पकड़ सकता हूं।
मैं एक विशिष्ट सेवा से संबंधित एक समस्या मिल जाए (जैसे सेवा सर्वर से परिभाषित नहीं है) catch()
ऑपरेटर स्थिति 404
के साथ एक Response
प्राप्त करता है और मैं आसानी से स्थिति का प्रबंधन कर सकते हैं।
दूसरी ओर, अगर यह सर्वर है कि पूरी तरह से नीचे, catch()
ऑपरेटर स्थिति कोड 200
और कोई विशेष संकेत या पाठ समस्या (जो कि पूरे सर्वर है के कारण से संबंधित के साथ एक प्रतिक्रिया प्राप्त करता है नीचे)। कंसोल पर मुझे लगता है कि कोणीय (http.dev.js) एक संदेश net::ERR_CONNECTION_REFUSED
लिखता है लेकिन मुझे नहीं पता कि मेरे कोड के भीतर से कुछ ऐसा कैसे करना है (यानी समझ रहा है कि क्या हो रहा है और उचित प्रतिक्रिया दें)।
किसी भी मदद की सराहना की जाएगी।
आप इस के लिए एक समाधान मिला? यहां मेरा जवाब भी देखें .... –
यदि मुझे किसी HTTP ऑपरेशन में त्रुटि मिलती है (जैसे POST, GET) और त्रुटि स्थिति 200 है तो मुझे लगता है कि पूरा सर्वर डाउन है, कुछ 'निजी हैंडलर त्रुटि (त्रुटि: प्रतिक्रिया) { लेयर त्रुटि; अगर (error.status == 200) { errorText = 'पूरा सर्वर नीचे है। कनेक्शन अस्वीकार कर दिया गया है। '; } वापसी Observable.throw (errorText || 'सर्वर त्रुटि'); } '; यह सुनिश्चित करने से बहुत दूर है कि यह विधि वास्तव में ठीक है, लेकिन मुझे लगता है कि – Picci
का सामना करने वाले मामलों में काम करना अच्छा लगता है। लेकिन आपको यह महसूस करना चाहिए कि यदि वे इस समस्या को हल करते हैं और आप अपग्रेड करते हैं तो आपका कोड टूट जाएगा। इसलिए, जब भी आप इस वर्कअराउंड का उपयोग करते हैं तो 'TODO' रखना एक अच्छा विचार हो सकता है –