我正在使用Angular 6并试图跟踪页面加载时间统计信息(从第一个异步调用/ DOM渲染开始到最后一个异步调用/ DOM渲染结束)。 Angular前瞻者有什么办法实现这一目标?
虽然我尝试使用process.timing,但似乎没有给出正确的加载时间。知道如何跟踪此页面总加载时间吗?
答案 0 :(得分:0)
您可以尝试在加载任何其他脚本之前获取当前日期,并在angular应用进入运行阶段时再次获取当前日期。如果同时减去两个日期,则将获得加载时间。
我的意思是这样的:
<script type="text/javascript">
var start = Date.now();
</script>
然后,当您实现控制器逻辑时,添加以下内容:
run(function($window) {
result = Date.now() - $window.start);
console.log(result);
});
答案 1 :(得分:0)
最佳做法是使用APP_INITIALIZER初始化全局时间变量
最佳做法是将结束计时逻辑放入 ngAfterViewInit 中,而没有业务逻辑放入 ngAfterViewChecked
每当DOM树进行任何更改时,都会调用ngAfterViewChecked()。这是设计使然。
使用ngAfterViewInit获取时差并重新初始化全局变量