728x90
반응형
자바스크립트 반복문에 딜레이 거는 방법에는 다양한 방법이 존재하겠지만, ES7 async/await 구문을 활용하면 굉장히 깔끔하게 이 부분을 제어할 수 있습니다. 이번 포스팅에서는 async/await을 활용해서 for 반복문, while 반복문에서 딜레이 거는 방법에 대해 소개해드리도록 하겠습니다.
사실 for문에서나 while문에서나 딜레이 거는 방법은 동일합니다. 반복문에 딜레이를 걸기 위해서는 비동기 함수로 반복문을 감싼 후 반복문 내부에서 순회를 할 때마다 await을 통해 딜레이를 걸어주는 방식입니다.
for문에서 delay 거는 방법
const timer = ms => new Promise(res => setTimeout(res, ms))
async function load () {
for (var i = 0; i < 3; i++) {
console.log(i);
await timer(3000);
}
console.log('end');
}
load();
while문에서 delay 거는 방법
const timer = ms => new Promise(res => setTimeout(res, ms))
async function load () {
let i = 5;
while(i > 0) {
console.log(i);
await timer(3000);
i--;
}
console.log('end')
}
load();
728x90
반응형
그리드형
'개발 > Javascript' 카테고리의 다른 글
부모 노드 맨 앞에 요소를 삽입하는 방법 (appendChild 말고! prependChild Javascript) (1) | 2021.01.18 |
---|---|
자바스크립트로 HTML5 캔버스(Canvas)에 백그라운드 배경 추가하는 방법 (0) | 2021.01.06 |
GA clientId 깔끔하게 가져오는 방법 (how to get the GA clientId) (2) | 2020.11.21 |
자바스크립트에서 replaceAll 사용하는 방법 (2) | 2020.11.05 |
동적으로 자바스크립트를 추가한 후 콜백받는 방법 (How to import the external JS with callback function) (0) | 2020.10.31 |
이 포스팅은 쿠팡파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.