एक fetch कॉल क्रोम में विफल रहता है, तो केवल त्रुटि विवरण हैं कि मैं वापस आ गया हैमैं जावास्क्रिप्ट Fetch त्रुटियों को कैसे संभाल सकता हूं?
TypeError: Failed to fetch
मैं कैसे इस मामले में अंत उपयोगकर्ता के लिए एक जानकारीपूर्ण त्रुटि संदेश प्रदर्शित करते हैं?
विशेष रूप से:
यह क्यों लाना विफल बारे में कोई विवरण प्राप्त करने के लिए संभव है?
उदाहरण के लिए, यदि सर्वर क्रैश हो गया है, तो क्रोम DevTools नेट का एक कंसोल संदेश लॉग कर सकता है: ERR_EMPTY_RESPONSE, लेकिन जावास्क्रिप्ट से इसका उपयोग करने का कोई तरीका नहीं है।
जहां तक मैं कह सकता हूं, जवाब नहीं है; मुझे लगता है कि यह सुरक्षा कारणों से है, दुर्भावनापूर्ण जेएस को यह पता लगाने से बचने के लिए कि कौन सी साइटें हैं और त्रुटि संदेशों का निरीक्षण करके पहुंच योग्य नहीं हैं।
क्या अन्य TypeError
से fetch त्रुटियों को अलग करना संभव है?
यदि मुझे त्रुटि विवरण नहीं मिल पा रहे हैं, तो मैं कम से कम अस्पष्ट "वेब साइट तक पहुंचने में विफल" के साथ "असफल होने में विफल" को प्रतिस्थापित करना चाहता हूं; कृपया बाद में पुनः प्रयास करें "और मैं अन्य TypeError
एस के लिए उस संदेश को प्रदर्शित करने के किसी भी जोखिम के बिना ऐसा करना पसंद है।
मुझे मिला एकमात्र समाधान वास्तविक message
को यह देखने के लिए है कि यह "Failed to fetch"
है या नहीं। यह स्पष्ट रूप से ब्राउज़र-विशिष्ट है; यह क्रोम में काम करता है, ऐसा लगता है कि यह क्रोम की किसी भी उपयोगकर्ता भाषा में काम करेगा, और अन्य ब्राउज़रों को अपने परीक्षण और हैंडलिंग की आवश्यकता होगी।
'TypeError' की तरह लगता है ... वास्तव में गलत त्रुटि प्रकार। अजीब। –
'.catch' आपके लिए काम नहीं करता है? –
@ जारोमांडाएक्स - '.catch' काम करता है, लेकिन यदि संभव हो तो मैं त्रुटि विवरण प्राप्त करना चाहता हूं (मेरा पहला प्रश्न), और अन्य' टाइप एरर 'को त्रुटिपूर्ण त्रुटियों के रूप में गलत तरीके से पकड़ने से बचने के लिए, मुझे लगता है कि मुझे या तो इसे रखना है '.catch' _very_' fetch' के करीब (इसलिए कोई अन्य त्रुटियां नहीं हो सकती हैं, इस प्रकार मैं अपने वादों को कैसे ढूढ़ता हूं में लचीलापन खो देता हूं) या ब्राउज़र-विशिष्ट व्यवहार पर भरोसा करता हूं जैसे कि 'संदेश' (मेरा दूसरा प्रश्न) के पाठ। –