拦截器中的Angular http请求时间

时间:2018-01-05 14:32:58

标签: javascript angular angular-http-interceptors google-chrome-console

我正在制作一个拦截器来记录我的http请求。

到目前为止,这么好,一切都按预期工作。

我现在想要的是获取请求执行的时间。

我以为我可以做这样的事情

const start = Date.now();
return next
  .handle(req)
  .map(res => {
    console.log('took ' + (Date.now() - start) + 'ms');
    return res;
  })

}

但控制台显示1到2毫秒,而网络显示超过50毫秒......我认为我应该在创建请求时创建起始值,但我不知道如何。

任何解决方案?

PS :我的linting配置禁止我使用console.time()

1 个答案:

答案 0 :(得分:3)

使用performance.now()来衡量持续时间(以毫秒为单位)

var start = performance.now(); 

return next
  .handle(req)
  .map(res => {
    console.log('took ' + (performance.now() - start) + 'ms');
    return res;
  })

有关详细信息,请查看this