프로그래밍/JavaScript

JavaScript로 sleep함수 구현

꾸션 2022. 1. 27. 11:57

자바스크립트로 sleep(delay) 함수를 구현하는 방법은 아래 소스와 같습니다.

 

sleep함수 구현

// 화살표 함수로 구현
const sleep = (ms) => {
  return new Promise((resolve) => setTimeout(resolve, ms))
}


// 일반 함수로 구현
function sleep(ms) {
  return new Promise((resolve) => setTimeout(resolve, ms))
}

 

sleep함수 사용 (2가지 방식)

1) async, await 방식

// 화살표 함수로 구현
const func = async () => {
  await sleep(3000) // 3초
  console.log('Do something...')
}


// 일반 함수로 구현
async function func() {
  await sleep(3000) // 3초
  console.log('Do something...')
}

 

2) callback 방식

// 화살표 함수로 구현
sleep(3000).then(() => console.log('Do something...'))


// 일반 함수로 구현
sleep(3000).then(function() {
  console.log('Do something...')
})