【问题标题】:Axios vs SuperagentAxios 与 Superagent
【发布时间】:2017-02-23 02:18:42
【问题描述】:

如果我使用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)              
        });
  }

【问题讨论】:

  • 而我的朋友们,这就是所谓的Javascript生态碎片化。
  • Axios 有更好的代理支持,Superagent 有更好的 cookie 支持,所以我根据需要选择哪一种。

标签: ajax superagent axios


【解决方案1】:

我真的不认为这真的是速度的事情,好吧。我认为 Axios 是基于 Promise 的,而 Superagent 不是。它们都是异步的,但由于 axios 等待解析它得到的响应,它看起来比 superagent“慢”。

我可能是错的。

【讨论】:

【解决方案2】:

差异不太可能与客户端的原始速度有关。两者都使用 Node 的 HTTP 库或浏览器的内置 XMLHttpRequest。您观察到的很可能是与事件处理相关的时间略有不同。

我会根据其他因素做出决定,例如您更喜欢哪个 API,以及库大小(对于浏览器端应用程序)。

这是 Axios 和 SuperAgent 的浏览器端测试用例:https://jsperf.com/axios-vs-superagent/,这是服务器端测试:https://gist.github.com/natesilva/24597d954f392b21467b83403756f121

对我来说,在这些测试中,Axios 在浏览器中速度更快SuperAgent 在 Node.js 下速度更快

【讨论】:

猜你喜欢
  • 2017-12-26
  • 2019-01-19
  • 2014-01-11
  • 1970-01-01
  • 2018-02-11
  • 2017-10-24
  • 2012-08-08
  • 1970-01-01
  • 2016-05-28
相关资源
最近更新 更多