๐ ์ฝ๋ฐฑ์ ์ด์ฉํด์ ๋ง๋ ์ฝ๋
function runInDelay(seconds) {
if(!callback){
throw new Error ('callbackํจ์๋ฅผ ์ ๋ฌ ํด์ผํจ')
}
if(!seconds || seconds < 0){
throw new Error ('seconds๋ 0๋ณด๋ค ์ปค์ผ ํจ')
}
}
try {
runInDelay(() => {
console.log('ํ์ด๋จธ ์๋ฃ');
}, 2);
} catch (error){
console.log('์๋ฌ๋ฐ์');
} finally {
console.log("์๋ฌ๊ฐ ๋ฐ์ํ๋์ง~ ๋ง๋์ง~");
}
๐ Promise๋ฅผ ํ์ฉํ ์ฝ๋
function runInDelay(seconds) {
return **new Promise**((resolve, reject) => {
if (!seconds || seconds < 0) {
reject(**new Error**("seconds๊ฐ 0๋ณด๋ค ์์!"));
}
setTimeout(resolve, seconds * 1000);
});
}
runInDelay(3)
.then(() => {
console.log("ํ์ด๋จธ ์๋ฃ");
})
.catch(console.error)
.finally(() => {
console.log("๋๋ฌ๋ค!");
});