I am learning JavaScript and I can see, in multiple big projects, SuperAgent is being used for HTTP Request. I am using Axios for learning purpose, but wondering what makes SuperAgent different to Axios?
axios has more stars than superagent, check here
If you are doing front end, axios is probably more popular, e.g. vue uses axios, I am doing back end, either one works.
But just like one answer in Axios vs Superagent said "I’d base my decision on other factors, like which API you like better, and library size " I tried both and finally chose supergent b/c superagent has build-in retry
axios does not provide retry, https://github.com/axios/axios/issues/164. I really don't like the idea of introducing another module just for retry, not to mention there are already 2 different modules now, axios-retry
vs retry-axios
.
Besides, thru my limited test, this issue https://github.com/axios/axios/issues/553 has not been fully fixed.
superagent
and axios
are HTTP client libraries. They are both very mature and picking between the two ultimately comes down to preference. Here's what it looks like to make a POST
request with a JSON body using each library:
// superagent
await request
.post('/to/my/api') // URI
.set('Authorization', authorizationKey) // Header
.send({ foo: 'bar' }) // Body
// then creates a promise that returns the response
.then(res => res.body)
/* axios */
// axios exclusively returns promises
// URI, body, request options are provided in one call
await request.post('/to/my/api', {
foo: 'bar'
}, {
headers: {
Authorization: authorizationKey
}
})
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With