Axios vs Superagent

时间:2016-10-13 19:53:27

标签: ajax superagent axios

如果我使用AxiosSuperagent一个接一个地调用相同的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)              
        });
  }

2 个答案:

答案 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等待解决响应,因此它看起来比“超级”更慢。

我可能错了。