>

Angular 6을 사용하고 있으며 페이지로드 시간 통계를 추적하려고합니다 (첫 번째 비동기 호출/DOM 렌더링에서 시작하여 마지막 비동기 호출/DOM 렌더링까지). 이것을 달성하기 위해 Angular에서 예상되는 방법이 있습니까?

하지만 process.timing으로 시도했지만 올바른로드 시간을 제공하지 않는 것 같습니다. 이 총 페이지로드 시간을 추적하는 방법에 대한 아이디어가 있습니까?


  • 답변 # 1

    다른 스크립트를로드하기 전에 현재 날짜를 얻으려고 시도하고 각도 앱이 실행 단계에 도달하면 현재 날짜를 다시 한 번 얻을 수 있습니다. 두 날짜를 모두 빼면 로딩 시간이 표시됩니다.

    내가 의미하는 바는 다음과 같다 :

    <script type="text/javascript">
        var start = Date.now();
    </script>
    
    

    그리고 컨트롤러 로직을 구현할 때 다음과 같이 추가하십시오 :

    run(function($window) {
        result = Date.now() - $window.start);
        console.log(result); 
    });
    
    

  • 답변 # 2

    APP_INITIALIZER를 사용하여 전역 시간 변수를 초기화하는 것이 가장 좋습니다

    최종 사례는ngAfterViewInit에 종료 타이밍 로직을 넣고ngAfterViewChecked에 비즈니스 로직을 두지 않는 것입니다.

    ngAfterViewChecked ()는 DOM 트리가 변경 될 때마다 호출됩니다. 의도적으로 설계된 것입니다.

    ngndViewInit를 사용하여 시차를 구하고 전역 변수를 다시 초기화하십시오

  • 이전 sql - 여러 열을 특정 열 이름을 가진 열로 변환
  • 다음 javascript - 부모의 제목에 따라 div의 id를 왼쪽으로 변경하는 스크립트의 알 수없는 구문 오류