JavaScript
JavaScript <콜백함수 4>
wlals5855
2024. 6. 2. 21:58
고차 함수 - 타이머 함수
- 특정한 시간이 지난 후 함수를 실행하거나 일정 간격으로 함수를 반복 실해하는 기능을 제공
- 비동기 작업 처리에 주로 사용
1. setTimeOout(함수, 시간)
- 지정된 시간이 지난 후에, 주어진 함수를 단 한 번 실행
- 첫 번째 인자: 실행할 함수
- 두 번째 인자:지연 시간(밀리초 단위, 1000초 - 1초)
1) 기본 사용법
function greet(name="이승아") {
console.log(`Hello, ${name}`);
}
greet();//결과: Hello, 장지민
- 2초 뒤에 greet 함수를 실행
- 콜백함수로 함수명만 전달!
- 함수에 인자 전달 >> 세번째 인자부터 나열되는 값은 함수의 매개변수로 전달
2) 익명 함수 사용
setTimeout(function() {
console.log('4초 뒤에 실행됩니다.');
}, 4000); // 4초 뒤에 실행됩니다.(4초 후 출력)
setTimeout(() => {
console.log('5초 뒤에 실행됩니다.');
}, 5000); // 5초 뒤에 실행됩니다.(5초 후 출력)
3) 타이머 취소
- clearTimeout 타이머_ID): setTimeout으로 설정한 타이머 제거
- setTimeout()은 타이머 ID를 반환
- 해당 ID를 clearTumeout() 함수에 전달하여 타이머를 취소
function greeting(name) {
console.log(`Hello ${name}!`);
}
const timerId = setTimeout(greeting, 10000, '장이준');
clearTimeout(timerId); // 출력되지 않는다.
2. setInterval(함수, 시간)
- 지정된 시간 간격마다 함수를 반봅해서 실행
- 사용법은 setTimeout()과 유사
let count = 1;
let number = setInterval(() => {
console.log(`3초 마다 실행됩니다. ${count}번째`);
count++;
}, 3000);
// : 인터벌을 종료하지 않을 경우 무한으로 실행
# 타이머 취소
clearInterval(타이머_ID): setInterval로 설정한 타이머 제거
- 타이머 id는 해당 타이머를 반환하는 객체
let counting = 1;
let id = setInterval(() => {
console.log(`5초 마다 실행됩니다. ${counting}번째`);
counting++;
}, 5000);
setTimeout(() => {
console.log('타이머를 종료합니다.');
clearInterval(id); // 5초 마다 실행되던 로직 종료
}, 15000); // 15초 후 실행