如果我使用Axios和Superagent一个接一个地调用相同的api,我会在控制台日志中首先获得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 :(得分:13)
差异不太可能与客户的原始速度有关。两者都使用Node的HTTP库或浏览器的内置XMLHttpRequest
。您观察到的最有可能的是与事件处理相关的时间上的细微差别。
我的决定基于其他因素,例如您更喜欢哪种API,以及库大小(对于浏览器端应用程序)。
以下是Axios和SuperAgent的浏览器端测试案例:https://jsperf.com/axios-vs-superagent/这里是服务器端测试:https://gist.github.com/natesilva/24597d954f392b21467b83403756f121
对我来说,在这些测试中, Axios在浏览器中更快,而 SuperAgent在Node.js下更快。
答案 1 :(得分:0)
我真的不认为它真的是速度之类的东西。我认为Axios是基于承诺而Superagent不是。它们都是异步的,但由于axios等待解决响应,因此它看起来比“超级”更慢。
我可能错了。