我正在学习 JavaScript,发现在多个大型项目中,SuperAgent 被用于 HTTP 请求。为了学习,我使用的是 Axios,但我想知道 SuperAgent 与 Axios 有什么不同?
我正在学习 JavaScript,发现在多个大型项目中,SuperAgent 被用于 HTTP 请求。为了学习,我使用的是 Axios,但我想知道 SuperAgent 与 Axios 有什么不同?
axios比superagent有更多的星星,在这里检查
如果你正在做前端开发,axios可能更受欢迎,例如vue使用axios,我正在做后端开发,两者都可以。
但就像Axios vs Superagent中的一个答案所说:“我会基于其他因素做出决定,比如你更喜欢哪个API和库的大小”,我尝试了两种方式,最终选择了supergent,因为superagent具有内置重试功能。
axios不提供重试功能,https://github.com/axios/axios/issues/164。我真的不喜欢为了重试而引入另一个模块,更不用说现在已经有两个不同的模块了,axios-retry
和retry-axios
。
此外,通过我的有限测试,这个问题https://github.com/axios/axios/issues/553还没有完全解决。
superagent
和axios
是HTTP客户端库。它们都非常成熟,选择其中一个最终归结于个人偏好。下面是使用每个库创建带有JSON正文的POST
请求的示例:
// 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
}
})