拦截器中的角度 http 请求时间
Posted
技术标签:
【中文标题】拦截器中的角度 http 请求时间【英文标题】:Angular http request time in interceptor 【发布时间】:2018-01-05 14:32:58 【问题描述】:我正在制作一个拦截器来记录我的 http 请求。
到目前为止,一切都很好,一切都按预期工作。
我现在想要的是获取执行请求所花费的时间。
我以为我可以做这样的事情
const start = Date.now();
return next
.handle(req)
.map(res =>
console.log('took ' + (Date.now() - start) + 'ms');
return res;
)
但是控制台显示1到2ms,而网络显示超过50ms……我认为我应该在创建请求时就创建起始值,但我不知道如何。
有什么解决办法吗?
PS:我的 linting 配置禁止我使用 console.time()
【问题讨论】:
【参考方案1】:使用performance.now()
以毫秒为单位测量持续时间
var start = performance.now();
return next
.handle(req)
.map(res =>
console.log('took ' + (performance.now() - start) + 'ms');
return res;
)
更多信息请查看this
【讨论】:
不知道,谢谢,但更糟糕的是:D 我刚刚做了一个编辑,说我应该在创建请求时实例化起始值,但是由于 Angular 正在抽象所有过程,我不知道怎么做。无论如何,+1 教我一些东西! 您解决过这个时间差异吗?我遇到了类似的问题,但我在浏览器的网络选项卡中看到 300 毫秒,在我的日志中看到 17,000 毫秒。以上是关于拦截器中的角度 http 请求时间的主要内容,如果未能解决你的问题,请参考以下文章