Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Axios vs Superagent

If I use Axios and Superagent to make a call to the same api one after another I get Superagent's response first in the console logs in both cases i.e if I call one first than the other and vice versa. Does that mean one is faster than the other or is something else entirely?

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)              
        });
  }
like image 262
xtabbas Avatar asked Oct 13 '16 19:10

xtabbas


People also ask

What is the use of SuperAgent?

SuperAgent is light-weight progressive ajax API crafted for flexibility, readability, and a low learning curve after being frustrated with many of the existing request APIs. It also works with Node.

Why is fetch better than Axios?

The simplicity of setting a timeout in Axios is one of the reasons some developers prefer it to fetch() . In Axios, you can use the optional timeout property in the config object to set the number of milliseconds before the request is aborted.


2 Answers

The difference is unlikely to be related to the raw speed of the client. Both use Node’s HTTP library or the browser’s built-in XMLHttpRequest. Most likely what you’ve observed are slight differences in timing related to event handling.

I’d base my decision on other factors, like which API you like better, and library size (for a browser-side application).

Here’s a browser-side test case for Axios and SuperAgent: https://jsperf.com/axios-vs-superagent/ and here’s a server-side test: https://gist.github.com/natesilva/24597d954f392b21467b83403756f121

For me, on these tests, Axios is faster in the browser and SuperAgent is faster under Node.js.

like image 63
Nate Avatar answered Sep 30 '22 08:09

Nate


I don't really think that it is really speed thing, well sort of. I think it is that Axios is promise based and Superagent is not. They are both asynchronous but since axios waits to resolve the response it gets it appears "slower" than superagent.

I could be wrong though.

like image 34
thomcchester Avatar answered Sep 30 '22 08:09

thomcchester