Promise

const print = (str) => {
  return new Promise((resolve, reject) => {
    // 콜백x new Promise를 리턴, new Promise는 resolve와 reject를 인자로 받는 콜백함수실행
    setTimeout(() => {
      console.log(str);
      resolve();
    }, Math.floor(Math.random() * 100) + 1);
  });
};

const printAll = () => {
  print("A")
    .then(() => {
      // then으로 비동기 작업을 이어서 실행
      return print("B");
    })
    .then(() => {
      return print("C");
    });
};
printAll();

async/await

const printAll = async () => {
  const one = await print("A");
  const two = await print("B");
  const three = await print("B");
};
printAll();

타이머 API

  1. setTimeout(callback, millisecond)
    • 일정 시간 후에 함수를 실행
    • return 값: 임의의 타이머 ID
      setTimeout(function () {
      console.log("1초");
      }, 1000);
      
  2. clearTimeout(timerId)
    • setTimeout 타이머를 종료
    • return 값: 없음
      const timer = setTimeout(function () {
      console.log("10초");
      }, 10000);
      clearTimeout(timer);
      
  3. setInterval(callback, millisecond)
    • 일정 시간의 간격 함수 반복 실행
    • 매개변수(parameter): 실행할 콜백 함수, 시간 간격 (밀리초)
    • return 값: 임의의 타이머 ID
      setInterval(function () {
      console.log("1초마다 실행");
      }, 1000);
      
  4. clearInterval(timerId)
    • setInterval 타이머를 종료
    • 매개변수: 타이머 ID
    • return 값: 없음
      const timer = setInterval(function () {
      console.log("1초마다 실행");
      }, 1000);
      clearInterval(timer);
      

카테고리:

태그:

업데이트:

댓글남기기