프라미스로 지연 만들기
내장 함수 setTimeout
은 콜백을 사용합니다. 프라미스를 기반으로 하는 동일 기능 함수를 만들어보세요.
함수 delay(ms)
는 프라미스를 반환해야 합니다. 반환되는 프라미스는 아래와 같이 .then
을 붙일 수 있도록 ms
이후에 이행되어야 합니다.
function delay(ms) {
// 여기에 코드 작성
}
delay(3000).then(() => alert('3초후 실행'));
function delay(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
delay(3000).then(() => alert('3초후 실행'));
답안에서 resolve
가 인수 없이 호출되었다는 것에 주목해주시기 바랍니다. 함수 delay
는 지연 확인 용이기 때문에 반환 값이 필요 없습니다.