2016-10-13 6 views
5

यदि मैं Axios और Superagent का उपयोग एक ही एपीआई को कॉल करने के लिए करता हूं तो मुझे दोनों मामलों में कंसोल लॉग में पहले सुपरगेंट की प्रतिक्रिया मिलती है, अगर मैं दूसरे से पहले और इसके विपरीत एक को कॉल करता हूं। क्या इसका मतलब है कि एक दूसरे की तुलना में तेज है या कुछ और पूरी तरह से है?एक्सिस बनाम सुपरगेंट

getUser() { 

    axios.get('/api/getuser') 
    .then((res) => { 
     console.log(err,res)   
    }) 
    .catch((err,res) => { 
     console.log(err,res)   
    }) 

    request 
     .get('api/getuser') 
     .end((err, res) => { 
      console.log(err,res)    
     }); 
    } 
+0

और मेरे दोस्तों को जावास्क्रिप्ट पारिस्थितिक तंत्र विखंडन कहा जाता है। – Overdrivr

+0

क्या मैं प्रत्येक अनुरोध के लिए ऑथ हेडर सेट करने के लिए असाधारण अनुरोध को रोक सकता हूं? –

उत्तर

0

मुझे सच में नहीं लगता कि यह वास्तव में गति की बात है, अच्छी तरह से। मुझे लगता है कि यह है कि एक्सिस वादा आधारित है और सुपरगेंट नहीं है। वे दोनों अतुल्यकालिक हैं, लेकिन चूंकि अक्षरों ने प्रतिक्रिया को हल करने की प्रतीक्षा की है, इसलिए यह प्रत्याशित से "धीमी" दिखाई देता है।

हालांकि मैं गलत हो सकता था।

+0

सुपरएजेंट के लिए वादा समर्थन जोड़ना इर्म है .. सुपर-आसान, एक प्लगइन है - https://github.com/jomaxx/superagent-promise-plugin – monkeyboy

+1

बेशक यह आसान है, वहां भी अति-वादा किया गया है, [ लिंक] https://www.npmjs.com/package/superagent यह सिर्फ ओप से पूछा गया है कि वे आदेश के बावजूद अलग-अलग समय पर क्यों आ रहे हैं। मेरा मानना ​​है कि मैंने सवाल का जवाब दिया। हालांकि, जैसा कि मैंने देखा है कि मैं गलत हो सकता हूं – thomcchester

+3

वर्तमान में, सुपरएजेंट आउट ऑफ़ द बॉक्स में वादे का समर्थन करता है: https://visionmedia.github.io/superagent/#promise-and-generator-support – CedX

4

अंतर ग्राहक की कच्ची गति से संबंधित होने की संभावना नहीं है। दोनों नोड की HTTP लाइब्रेरी या ब्राउज़र के अंतर्निहित XMLHttpRequest का उपयोग करते हैं। सबसे अधिक संभावना है कि आपने जो देखा है वह ईवेंट हैंडलिंग से संबंधित समय में मामूली अंतर है।

मैं अन्य कारकों पर अपना निर्णय लेगा, जैसे कि आप कौन सी एपीआई बेहतर पसंद करते हैं, और लाइब्रेरी आकार (ब्राउज़र-साइड एप्लिकेशन के लिए)।

यहाँ Axios और SuperAgent के लिए एक ब्राउज़र पक्ष परीक्षण का मामला है: https://jsperf.com/axios-vs-superagent/ और यहाँ एक सर्वर साइड परीक्षण है: https://gist.github.com/natesilva/24597d954f392b21467b83403756f121

मेरे लिए, इन परीक्षणों पर, Axios तेज़ ब्राउज़र में और SuperAgent तेजी से होता है है Node.js के तहत।

संबंधित मुद्दे