로딩
요청 처리 중입니다...

타이머 테스트: 마이너스로 흐르는 시간

 타이머 테스트: 마이너스로 흐르는 시간

화면 잠금, 백그라운드 등에 따라 타이머가 0초에서 멈추지 않고 계속 흘러가는 오류가 나올 수 있다. 사례를 보면서 이야기해보겠다.

타이머 구현 구조 타이머의 카운트 동작은 API 응답에서 만료시간을 주고, 그 만료 시간을 기준으로 FE에서 타이머를 구현하여 1초식 감소하게된다. 타이머 흐름은 FE에서 독립적으로 동작하는거다.

좀 더 아는척(?)해서 이런걸 비동기 갱신이라고 한다.

또 다른 구현 방식: API 활용 API를 1초마다 받아오고 그 내용을 렌더링한다면 시간이 매끄럽게 흘러가지 않을 가능성이 높다. API를 호출하고 받는 시간, 렌더링하는 시간을 고려하면 좋은 선택이 아니다.

데이터 낭비는 덤이다. API를 1초마다 요청해서 응답 받은 값을 렌더링하는 방식도 있을 수 있다.

하지만 이건 여러모로 비효율적이다. API를 호출하고 응답받는 데 걸리는 시간 렌더링에 걸리는 시간 네트워크 상태에 따른 지연 서버/클라이언트 리소스 낭비 결과적으로, 자연스러운 카운트 흐름이 깨지고,...