본문 바로가기
Javascript

오답노트) 3,2,1,끝이 1초에 한번 출력

by jennyiscoding 2022. 10. 4.

내 오답이었던 답)

 60점짜리답

// 지시사항에 따라 코드를 작성합니다.
function countDownThree() {
  let number = 3;
  console.log(number);
  let interval = setInterval(() => {
    number--;
    console.log(number);
    if (number == 1) {
      setTimeout(() => {
        console.log('끝');
        clearInterval(interval);
      }, 1000);
    }
  }, 1000);
}

// 실행 혹은 제출을 위한 코드입니다. 지우거나 수정하지 말아주세요.
module.exports = { inputs: [], func: countDownThree };

 

솔루션 : 

function countDownThree() {
  console.log(3);
  setTimeout(() => {
    console.log(2);
  }, 1000);
  setTimeout(() => {
    console.log(1);
  }, 2000);
  setTimeout(() => {
    console.log('끝');
  }, 3000);
}

module.exports = { inputs: [], func: countDownThree };

 

알게된 것 : 

- setTimeout을 여러개 쓸 수 있다. 

- 반드시 3에서 1을 빼야하는걸로 이해했었는데 굳이 그렇게 할 필요가 없다!