setInterval
은 JavaScript에서 제공하는 함수 중 하나로, 일정한 시간 간격으로 함수를 반복 실행하는 기능을 제공합니다. setInterval
함수는 다음과 같은 구조를 가집니다:
setInterval(callback, delay, ...args)
callback
: 주기적으로 실행할 함수입니다. 일정한 시간 간격마다 호출됩니다.delay
: 함수를 실행하기 전의 대기 시간(밀리초)입니다. 이 값은 양의 정수로 지정됩니다.args
(선택적): callback
함수에 전달할 추가적인 인수들입니다.setInterval
함수를 호출하면, callback
함수가 delay
매개변수로 지정된 시간 간격마다 반복적으로 실행됩니다. 이 프로세스는 clearInterval
함수가 호출되거나 페이지가 닫힐 때까지 계속됩니다.
setInterval
함수는 주로 주기적인 작업이 필요한 경우에 사용됩니다. 예를 들어, 웹 애플리케이션에서 실시간 데이터를 업데이트하거나 애니메이션을 구현할 때 사용될 수 있습니다. 그러나 잘못 사용할 경우 성능 문제나 메모리 누수와 같은 부작용이 발생할 수 있으므로 주의해야 합니다.
setInterval
함수는 반복적인 작업을 설정하고 싶을 때 유용한 JavaScript의 내장 함수 중 하나입니다.
setInterval(() => {
if (dayjs().isSame(this.expires, 'minute')) this.getToken();
}, 60);
이 코드는 일정한 간격으로 특정 조건을 확인하고 해당 조건이 충족될 때 함수를 실행하는 코드입니다.
setInterval
함수는 주어진 시간 간격(밀리세컨드)마다 첫 번째 인자로 전달한 함수를 실행합니다. 여기서는 60 밀리세컨드마다 실행하도록 설정되어 있습니다.
dayjs()
는 dayjs 라이브러리를 사용해 현재 시간을 가져옵니다.
isSame()
메소드는 두 날짜가 같은지 비교하고, 여기서는 현재 시간과 this.expires
의 분(Minute) 단위가 같은지 확인합니다.
만약 분 단위의 비교가 참이면 this.getToken()
메소드를 호출합니다. 이 메소드는 토큰을 갱신하는 역할을 합니다.
요약하면, 이 코드는 60 밀리세컨드마다 현재 시간과 토큰의 만료 시간을 연산하여, 분 단위로 같다면 토큰을 갱신하는 코드입니다. 하지만, 일반적으로 갱신의 경우 각 setTimeout 함수를 사용하며, 간격을 조정해주는 것이 좋습니다.