2016-10-13 16 views
5

Nếu tôi sử dụng AxiosSuperagent để thực hiện cuộc gọi đến cùng api cái khác, tôi nhận được phản hồi của Superagent đầu tiên trong nhật ký bàn điều khiển trong cả hai trường hợp, tức là nếu tôi gọi đầu tiên trước cái kia và ngược lại. Điều đó có nghĩa là cái này nhanh hơn cái kia hay cái gì khác hoàn toàn?Axios vs 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

Và bạn bè của tôi, được gọi là phân đoạn hệ sinh thái Javascript. – Overdrivr

+0

Tôi có thể chặn yêu cầu siêu dữ liệu để đặt tiêu đề auth cho mọi yêu cầu không? –

Trả lời

0

Tôi không thực sự nghĩ rằng đó thực sự là điều tốc độ, cũng sắp xếp. Tôi nghĩ rằng Axios hứa hẹn và Superagent thì không. Cả hai đều không đồng bộ nhưng vì các trục chờ đợi để giải quyết phản hồi, nó sẽ xuất hiện "chậm hơn" so với siêu dữ liệu.

Tôi có thể nhầm.

+0

Thêm hỗ trợ hứa hẹn cho superagent là erm .. siêu dễ dàng, có một plugin - https://github.com/jomaxx/superagent-promise-plugin – monkeyboy

+1

tất nhiên nó rất dễ dàng, đó cũng là superagent-as-promise, [ liên kết] https://www.npmjs.com/package/superagent nó chỉ là op hỏi tại sao họ đang đến vào những thời điểm khác nhau bất kể thứ tự. Tôi tin rằng tôi đã trả lời câu hỏi. Tuy nhiên, như tôi đã lưu ý tôi có thể sai – thomcchester

+3

Hiện tại, SuperAgent hỗ trợ Promises out-of-the-box: https://visionmedia.github.io/superagent/#promise-and-generator-support – CedX

4

Sự khác biệt có thể không liên quan đến tốc độ thô của khách hàng. Cả hai đều sử dụng thư viện HTTP của Node hoặc được tích hợp sẵn trong số XMLHttpRequest của trình duyệt. Nhiều khả năng những gì bạn đã quan sát thấy có sự khác biệt nhỏ về thời gian liên quan đến xử lý sự kiện.

Tôi sẽ quyết định dựa trên các yếu tố khác, như API bạn thích hơn và kích thước thư viện (đối với ứng dụng trình duyệt).

Dưới đây là một trường hợp thử nghiệm trình duyệt-side cho Axios và SuperAgent: https://jsperf.com/axios-vs-superagent/ và đây là một thử nghiệm server-side: https://gist.github.com/natesilva/24597d954f392b21467b83403756f121

Đối với tôi, trên những thử nghiệm, Axios là nhanh hơn trong trình duyệtSuperAgent nhanh dưới Node.js.

Các vấn đề liên quan