[Javascript] 대기 함수 만들기
2025. 6. 16. 09:00ㆍJavascript/Javascript
728x90
반응형

C 언어나 JAVA, Python에서는 입력한 시간만큼 코드의 실행을 멈추는 기능으로 sleep()이나 wait() 같은 함수를 지원한다. 하지만 자바스크립트엣는 이와 같은 함수들이 따로 존재하지 않으니 직접 개발자가 구현해 줘야 한다.
while문 활용
현재 날짜와 시간을 얻는 함수 Date.now()와 while문 조건으로 3초가 경과한 걸 확인하는 방법.
function wait(sec) {
let start = Date.now(), now = start;
while (now - start < sec * 1000) {
now = Date.now();
}
}
console.log(11)
wait(3);
console.log(22)
Promise 객체 활용
우선 Promise 객체를 만들고 setTimeout으로 일정 시간 후에 resolve하게 한다. 이 비동기 Promise 함수를 await으로 동기 처리해 주면 마치 sleep과 같은 기능을 하게 된다.
function sleep(sec) {
return new Promise(resolve => setTimeout(resolve, sec * 1000));
} // 함수 정의
(async () => {
... 코드1
await sleep(2); // 2초대기
... 코드2
})();
// 최근 추가된 Top-Level Await 문법으로 인해 바로 await를 사용할수도 있다.
... 코드1
await sleep(2); // 2초대기
... 코드2
728x90
반응형
'Javascript > Javascript' 카테고리의 다른 글
[Javascript] async 함수의 병렬 처리 (1) | 2025.06.18 |
---|---|
[Javascript] 가비지 컬렉션(Garbage Collection) (1) | 2025.06.17 |
[Javascript] 이벤트 한 번만 실행하기 (1) | 2025.06.13 |
[Javascript] 이벤트 제거하기 (0) | 2025.06.13 |
[Javascript] reduce()에 break 걸기 (0) | 2025.06.13 |