के साथ त्रुटियों को कैसे संभालें Igraphql-server-express
और apollo-client
के साथ अपोलो स्टैक का उपयोग कर रहा हूं।अपोलो स्टैक
क्योंकि मेरा बैकएंड सही त्रुटियां नहीं दिखाई दे सकता है और इसलिए मुझे उस पथ के लिए एक त्रुटि के अनुरोध का जवाब देना होगा।
अभी तक मेरी मुख्य समस्या प्रमाणीकरण थी और इसलिए मैंने एक त्रुटि का जवाब दिया।
return new Error(`${data.status}: ${data.statusText} @ ${data.url}`)
फ्रंटेंड में मैं डेटा क्वेरी करने के लिए अपोलो-क्लाइंट का उपयोग करता हूं।
return apollo
.query({query: gql`
query {
${query}
}`,
forceFetch: forceFetch
})
.then(result => { debugger; return result.data })
.catch(error => { debugger; console.error(error); });
लेकिन यदि क्वेरी की एक संपत्ति किसी त्रुटि के साथ प्रतिक्रिया देती है, तो केवल पकड़ समारोह लागू किया जाएगा। यहां तक कि शेष गुणों का डेटा स्थानांतरित किया गया है, मैं इसे क्रोम देव उपकरण के नेटवर्क टैब में देखता हूं। कैच फ़ंक्शन में त्रुटि ऑब्जेक्ट नहीं है।
मेरा प्रयास GraphiQL के साथ ठीक काम करता है जहां मुझे एक ही ऑब्जेक्ट में त्रुटियां और डेटा मिलता है।
तो मैं पूरे अनुरोध को खोए बिना संपत्ति के लिए त्रुटियों को कैसे फेंक सकता हूं?