[Javascript] 일정 시간 후 함수 실행, 3가지 방법
April 13, 2024
일정 시간 후에 특정 함수나 코드를 실행하는 방법에 대해서 알아보겠습니다. 또한, 일정 시간 간격으로 주기적으로 함수를 호출하는 방법에 대해서 알아보겠습니다.
1. setTimeout() : 일정 시간 후에 함수 실행
setTimeout(함수, time)
은 일정 시간 time(millisecond) 후에 함수를 실행합니다.
아래 예제는 2초 뒤에 doSomething()
함수를 실행합니다.
function doSomething() {
console.log("일정 시간 후에 실행");
}
// 2초 후에 doSomething() 실행
setTimeout(doSomething, 2000);
Output:
일정 시간 후에 실행
2. setInterval() : 주기적으로 함수 실행
setInterval(함수, time)
은 일정 시간(time, millisecond) 간격으로 함수를 실행합니다.
- time 뒤에 함수가 처음 실행되며, time 시간 간격마다 주기적으로 함수 실행됨
아래 예제는 1초 간격으로 특정 함수를 실행하는 예제입니다.
function doSomething() {
console.log("일정 시간 간격으로 반복 실행");
}
// 1초마다 doSomething() 실행
setInterval(doSomething, 1000);
Output:
일정 시간 간격으로 반복 실행
일정 시간 간격으로 반복 실행
일정 시간 간격으로 반복 실행
일정 시간 간격으로 반복 실행
...
3. 비동기 작업에서 일정 시간 후에 함수 호출
비동기 작업에서는 async, await, Promise를 사용하며, 아래와 같이 setTimeout()
으로 함수로 sleep 함수를 구현할 수 있습니다.
async 함수에서 sleep 함수를 사용하여 특정 시간 대기할 수 있으며, 일정 시간 대기 후에 특정 함수 또는 코드를 호출할 수 있습니다.
function delay(ms) {
return new Promise((resolve) => setTimeout(resolve, ms));
}
async function delayedFunction() {
await delay(2000); // 2초 대기
console.log("일정 시간 후에 실행");
}
delayedFunction();
Output:
일정 시간 후에 실행