일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Maui
- 깃허브
- spring boot
- 오류
- 바인딩
- 닷넷
- 리엑트
- typescript
- Firebase
- 함수
- GitHub
- db
- .NET
- Flutter
- MSSQL
- MS-SQL
- 파이어베이스
- 애니메이션
- AnimationController
- 마우이
- JavaScript
- listview
- 자바스크립트
- MVVM
- React JS
- page
- Animation
- Binding
- HTML
- 플러터
Archives
- Today
- Total
개발노트
6. [Javascript] 일정 시간간격으로 함수 호출하기(with setInterval, setTimeout) 본문
웹 개발/Javascript
6. [Javascript] 일정 시간간격으로 함수 호출하기(with setInterval, setTimeout)
mroh1226 2023. 5. 23. 10:50반응형
일정시간 간격을 두고 function을 호출해야할 때가 있습니다.
일정 시간에 주기적으로 호출하려고한다면 setInterval() 메서드를 사용하고,
일정시간 뒤에 한번만 호출하길 원한다면 setTimeout() 메서드를 사용하면 됩니다.
1. setInterval(function, delay);
- 일정시간 간격으로 호출하기
function sayHello() {
console.log('안녕하세요!');
}
setInterval(sayHello, 1000); // 1초마다 sayHello 함수 호출
위의 코드에서 sayHello 함수는 1초마다 한 번씩 호출됩니다.
웹 브라우저의 개발자 도구 콘솔에는 '안녕하세요!'가 매 초마다 출력될 것입니다.
- clearInterval() 메소드로 타이머 취소하기
var timerId = setInterval(sayHello, 1000); // 1초마다 sayHello 함수 호출
// 5초 후에 반복 실행 중지
setTimeout(function() {
clearInterval(timerId);
}, 5000);
위의 코드에서 clearInterval 함수를 사용하여 timerId 타이머를 5초 후에 중지합니다.
setInterval을 사용으로 필요하지 않은 반복 실행을 지속하면 브라우저 성능에 영향을 줄 수 있으며, 작업이 더 이상 필요하지 않을 때는 clearInterval로 타이머를 중지하는 것이 좋습니다.
2. setTimeout(function, delay);
- 일정시간 뒤 한번만 호출
function sayHello() {
console.log('안녕하세요!');
}
setTimeout(sayHello, 3000); // 3초 후에 sayHello 함수 호출
위의 코드에서 sayHello 함수는 3초 후에 한 번 호출됩니다.
웹 브라우저의 개발자 도구 콘솔에는 '안녕하세요!'가 3초 후에 출력될 것입니다.
setTimeout 함수를 사용하여 일정 시간이 지난 후에 함수를 실행하는 경우, 해당 함수는 한 번만 실행됩니다.
- clearTimeout 으로 실행 취소하기
var timerId = setTimeout(sayHello, 3000); // 3초 후에 sayHello 함수 호출
// 2초 후에 타이머 취소
setTimeout(function() {
clearTimeout(timerId);
}, 2000);
위의 코드에서 clearTimeout 함수를 사용하여 timerId 타이머를 2초 후에 취소합니다.
이렇게 하면 sayHello 함수가 호출되기 전에 타이머가 취소되어 실행되지 않습니다.
활용하여 시계 만들기.
function getClock() {
const date = new Date();
const hour = String(date.getHours()).padStart(2, "0");
const minute = String(date.getMinutes()).padStart(2, "0");
const seconds = String(date.getSeconds()).padStart(2, "0");
clock.innerText = `${hour}:${minute}.${seconds}`;
}
setInterval(getClock, 1000);
//Interval 함수를 정해진 시간만큼 반복해서 호출하는 메소드
setTimeout(sayhello, 1000);
//정해진 시간뒤에 함수를 1번만 호출함
반응형
'웹 개발 > Javascript' 카테고리의 다른 글
8. [Javascript] JS로 HTML 요소 만들기 (with createElement, appendChild) (0) | 2023.05.23 |
---|---|
7. [Javascript] localStorage를 이용한 로컬 DB 활용하기 (0) | 2023.05.23 |
5. [Javascript] Events 발생시키기 (with function) (1) | 2023.05.17 |
4. [Javascript] Document 객체를 이용하여 HTML 값 활용하기 (0) | 2023.05.16 |
3. [Javascript] Function (함수) (0) | 2023.05.16 |
Comments