일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 개발
- Testing-library/react
- React 테스트코드
- 첫 코딩
- mock api를 이용한 react 테스트
- javascript 테스트
- HTML
- nest.js forwardRef
- ScrollView 무한 스크롤
- react testing library 비동기 테스트 사용법
- react jest
- CSS
- 비동기 테스트
- React Testing Library
- react native 무한스크롤
- 첫코딩
- nest.js 순환 종속성
- 리액트 테스트 코드
- react 테스트
- nest.js 순환 참조
- react
- TDD방식으로 리액트 테스팅
- jest
- FlatList 무한 스크롤
- TodoList 테스트 코드
- mock api 사용법
- JavaScript
- 프로젝트 배포하기
- 리액트 테스트
- nest.js circular Dependency
- Today
- Total
성장을 위한 기록
중급 기본 정리 (with 앙마코딩) setTimeout / setInterval 본문
중급 기본 정리 (with 앙마코딩) setTimeout / setInterval
B_Tae 2022. 3. 16. 22:04이 글은 인프런에서 앙마코딩님의 무료 강좌를 학습한 내용입니다. (자바스크립트 중급 강좌)
문제 시 바로 삭제하겠습니다.
출처 [무료] 자바스크립트 중급 강좌 대시보드 - 인프런 | 강의 (inflearn.com)
setTimout() : delay 후 함수 실행
setTimeout
는 정해논 시간 뒤에 함수를 실행 시킬 수 있다. 또한 함수의 인수를 받을 수도 있다.(필요하다면 시간 뒤에 작성하고, 없다면 안적어도 된다)
function consName(name){
console.log(name);
}
setTimeout(consName, 3000, 'Btae');
이 예제는 함수 consName('Btae')을 3초 뒤에 실행한다. 여기서 3000의 단위는 ms(밀리세컨)으로 1000ms = 1초이다.
setTimeout() 멈추는 법
js를 작성하다보면 setTimeout()을 멈춰야 하는 경우가 있는데 이때는 clearTimeout()
을 사용한다.
function consName(name){
console.log(name);
}
const timeId = setTimeout(consName, 3000, 'Btae');
clearTimeout(timeId);
위 예제는 setTimeout으로 함수를 예약했지만 clearTimeout을 만나 실행되지 않는다.
setTimeout은 timeId값을 반환하고, 그 값을 인수로 clearTimeout을 실행하면 종료하게 된다.
setInterval() : 일정 간격으로 반복 실행
setInterval
은 setTimeout과 사용 방법이 동일하다. 다만 한 번으로 끝나지 않고 계속 반복 수행한다는 점이 다르다.
function showName(name){
console.log(name);
}
const timeId = setinterval(showName,3000,'Btae');
이 코드는 3초마다 계속해서 'Btae'를 반환한다. 만약 clearInterval(timeId)
를 만나게 되면 종료한다.
delay = 0 ?
setTimeout(() = > {
console.log(2);
},0);
console.log(3);
위 코드를 보면 당연히 먼저 실행된 setTimeout의 딜레이가 0임으로 2가 먼저 반환되고 3이 반환될 것 같지만, 사실은 그렇지 않다.
첫 번째 이유는 js 코드를 다 읽고나서 실행하기 때문에 반환 순서는 3이 먼저이고, 딜레이가 0이라 하지만, 인터넷은 4ms 이상의 시간이 소요되기 때문에 바로 실행된다고 생각할 수는 없기 때문이다.
'FE (Front End) (구) > javascript' 카테고리의 다른 글
중급 기본 정리 (with 앙마코딩) 상속과 Prototype (0) | 2022.03.17 |
---|---|
중급 기본 정리 (with 앙마코딩) call, apply, bind (0) | 2022.03.16 |
자바스크립트 중급(with 앙마코딩) 나머지 매개변수, 전개 구문 (0) | 2022.03.15 |
중급 기본 정리 (with 앙마코딩) 구조 분해 할당 (0) | 2022.03.15 |
중급 기본 정리 (with 앙마코딩) 배열 매서드 Array 2탄 (0) | 2022.03.15 |