본문 바로가기
Cod-ing/JavaScript

[JavaScript] 10분마다 실행되는 함수

서버 자원을 최대한 적게 사용하며 알람을 업데이트시킬 수 있는 스크립트를 구현하라는 업무를 요청받았다.

알람은 실시간으로 업데이트되지 않아도 된다고 하여 일정한 시간 간격에 따라 업데이트된 내용을 가져오는 방식을 구현해 보았다.

로직 흐름

  1. 함수가 실행되면 현재 시간을 sessionStorage에 저장
  2. 저장된 시간과 현재 시간의 밀리초 차이가 600000 (10분) 이상일 시 알람 업데이트
  3. 알람 업데이트 시간을 sessionStorage에 갱신
function FnTimeCheck() {
  //현재시간
  var nowDate = new Date(); 
  //세션스토리지에 저장된 시간
  var saveDate = new Date(sessionStorage.getItem("saveDate")); 

  if (nowDate.getTime() - saveDate.getTime() > 600000) {
    //저장된 시간으로부터 10분이 지났는지 체크
    console.log("알람 업댓!");
    //업데이트 시간 세션스토리지에 갱신
    sessionStorage.setItem("saveDate", new Date());
  }
}
FnTimeCheck();
//10초마다 로직 실행하며 시간 체크
setInterval(FnTimeCheck, 10000);

매우 간단하게 구현할 수 있다!

 

공부내용을 기록하는 블로그입니다.

피드백은 언제든지 환영합니다😊