라벨이 setInterval인 게시물 표시

노트북(랩탑, notebook, laptop) 에서 구동되는 javascript setTimeout 과 setInterval timer에 대해서.. (로그오프, 절전등)

experience electron으로 구현한 client 앱에서 background로 인증token 갱신 등의 작업을 setInterval을 이용해 구현함..  그런데, 갱신이 정상적이지 않은 경우를 역추적하다가... setTimeout과 setInterval의 timer 동작이 어떻게 되는지 궁금.... ​​ ​  대략 정리하면 해당 앱이 동작하는 OS 및 브라우저 등의 환경에 따라 다르게 동작하는 듯.. ​ - 앱구동중 화면 덮기...  * setTimeout ** 노트북 모드(절전 모드, sleep 모드 등)에 따라서 설정한 time 이 지났을 때, 돌기도 안돌기도 함..    (setTimeout의 경우, 10초 설정 > 5초뒤 모니터 덮기 > 10분후 다시 on > 5초뒤 callback 동작 이런 경우도 존재..)   ** delay가 짧은 경우에는 바로 돌기도하는... ​ * setInterval ** 간단 테스트.. 결과..  예측 불가.. ** macOS의 경우 > 2시간 설정 > 30초 사용후 모니터 덮기 > ....(A) > 다음날 on  ( A 시점에 멈춘듯 하다가도 혼자 깨어나 timer가 돌기도 하는 것으로 보임.. @.@ ) ​ ​ 참조 : https://stackoverflow.com/a/6346917/14339016

IntersectionObserver 적용후, 빠른 scroll(by scrollIntoView, scrollTop)시 등록한 callback이 제대로 실행되지 않는것 같은 이슈

 experience IntersectionObserver로 특정 element(sentinel) 를 기준으로 해당 element가 화면에 노출되면 특정액션(A)을 하고, 사라지면 다시 A를 해제하는 기능을 구현중 다음과 같은 현상이 발생..    - situation :  sentinel이 상당히 긴 페이지 중간 쯤에 있고, 현재화면(페이지 최상단)에서는 sentinel도 보이지 않는 상황!!  이후 페이지 가장하단의 element로 scrollIntoView 또는 scrollTop을 이동시켜 sentinel이 현재화면 하단에서 올라와서 위로 올라가버리도록 다음과 같이 시도!!     1. sentinel이 보여지는 화면 밑 부분으로 순간 나타남.   2. 현재 화면 밑에서 화면 위로 올라감.   3. 화면 위에서 더 위(현재 화면에서 안보이는 상태)로 사라짐..   이때, 생각은 1번 상황에서 callback이 실행되고, 3번 상황에서 callback이 또한번 실행될 것으로 생각했지만...    callback자체가 실행되지 않음..!! @.@       3번까지 가지 않고, 2번 정도에서 멈추게 되면 callback은 발생함!! (최종 상태(스크롤이 멈췄을때의 sentinel 위치)에서만 발생!)    즉, scrollIntoView나 scrollTop을 이용하는 경우, 해당 scrollParent의 scroll 이벤트는 발생하지만, IntersectionObserver는 최종 상황이 기준인 것으로 보임..