아하
검색 이미지
생활꿀팁 이미지
생활꿀팁생활
생활꿀팁 이미지
생활꿀팁생활
하얀고슴도치236
하얀고슴도치23621.05.14

JS setInterval 을 현재 활성화되어있지 않은 브라우저 화면에서 계속 반복 실행하는 법이 궁금합니다.

JS setInterval 을 현재 활성화되어있지 않은 브라우저 화면에서 계속 반복 실행하는 법이 궁금합니다.

예전에는 setInterval 함수를 실행해두면 해당 브라우저 Tab을 활성화해두지 않았어도 계속 실행되던것으로 기억하는데.

어느순간부터 크롬 업데이트 이후 해당 브라우저가 활성화 상태가 아니면 어느정도 작업 하다가 멈추는것을 발견했습니다.

이를 해결하는 방법이 궁금합니다.

55글자 더 채워주세요.
답변의 개수1개의 답변이 있어요!
  • 탈퇴한 사용자
    탈퇴한 사용자21.05.14

    안녕하세요.

    크롬에서 탭이 비활성화 되어 있어도 setInterval() 이 작동합니다. 혹시 코드로 인해 메모리가 올라갈 경우에 크롬이 자체적으로 중지하는지도 모르겠습니다.

    다만 setInterval을 1초 미만으로 실행하는 경우 1초로 느슨하게 실행됩니다.

    아래처럼 실행 시간이 설정한 시간보다 이상이 되는 것은 브라우저에 부하가 늘어나므로 setTimeout으로 변경하는게 좋습니다.

    setInterval(() => { // 실행 시간이 1초 이상 되는 코드 }, 1000);