-
일정 시간이 지났는지 확인하는 함수IT, 프로그래밍/Javascript 2018. 12. 27. 14:05123456789101112131415161718192021222324252627282930313233343536373839404142434445464748function TimeChecker() {let startTime;const TIME_INTERVAL = 2000;this.validateOverInterval = function () {let endTime = new Date().getTime();if (endTime - startTime < TIME_INTERVAL) {return false;} else if(!startTime || endTime - startTime >= TIME_INTERVAL) {startTime = new Date().getTime();return true;}}}window.onload = function(){let timeCheckerTest = new TimeChecker();let testFlag = timeCheckerTest.validateOverInterval();console.log("체크를 시작합니다.");setTimeout(function(){testFlag = timeCheckerTest.validateOverInterval();if(!testFlag){console.log("현재 2초를 세고 있습니다.. 2초가 지나지 않았습니다.");}}, 1000);setTimeout(function(){testFlag = timeCheckerTest.validateOverInterval();if(testFlag){console.log("2초가 지났습니다.");}}, 3000);}
cs
setTimeout 함수는 일정시간 동안 blocking 하는 함수지만 비동기로 작동한다.위의 함수를 사용하면 실행 후 일정 시간이 지났는지 확인하여 원하는 기능을 일정 시간 후 동기식으로 수행할 수 있다.
'IT, 프로그래밍 > Javascript' 카테고리의 다른 글
[javascript] Selection과 Range를 통해 내맘대로 커서 조작하기 - Selection편 (2) 2019.12.16 Footer 하단에 고정시키기 (0) 2019.01.02 Jquery UI와 부트스트랩 같이 사용할 때 주의점 (0) 2018.12.03 Jquery deep copy 메소드 (0) 2018.11.29 Jquery DOM clone (0) 2018.11.07