새 페이지로 이동하기 전에 Angular를 5 초 동안 절전 모드로 설정하려면 어떻게해야합니까?

적분

빠른 질문입니다. 새 페이지로 이동하기 전에 Angular를 5 초 동안 잠자 게하려면 어떻게해야합니까?

내 기능 내에서 이것을 시도하고 있지만 작동하지 않는 것 같습니다.

setTimeout(() => {
        console.log('sleep');
      }, 5000);
this.router.navigate(['/question', this.getQuestionID() + 1]);
...
엘리아스 소아레스

이는 setTimeout코드 실행을 차단하지 않고 대신 콜백 함수 실행을 예약 하기 때문에 발생합니다 . 즉, 탐색 호출은 콜백 외부에 있습니다. 즉, 콜백 예약이 실행될 때가 아니라 바로 실행됩니다.

올바른 코드는 다음과 같습니다.

setTimeout(() => {
  console.log('sleep');
  this.router.navigate(['/question', this.getQuestionID() + 1]);
  // And any other code that should run only after 5s
}, 5000);

노트 :

사용자가 tge 5s 이전에 각도 라우터 링크를 사용하여 다른 곳으로 이동하려고하면 5 초 후에 탐색을 계속 실행하여 이상한 동작을 유발합니다.

다음 중 어느 것도해서는 안됩니다.

  1. 경로 변경에 대한 시간 제한을 취소하십시오. 또는
  2. 다른 경로를 클릭하지 않도록 전체 페이지를 차단하십시오.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관