์๊ตฌ์ฌํญ ๋ฐ ํํธ
- Promise ๋ฐํ ํจ์ ์ ์:
- delayLog๋ผ๋ ํจ์๋ฅผ ์ ์ํฉ๋๋ค. ์ด ํจ์๋ message์ delayTime์ ์ธ์๋ก ๋ฐ์ต๋๋ค.
- ์ด ํจ์๋ ์ฆ์ ์๋ก์ด Promise ๊ฐ์ฒด๋ฅผ ๋ฐํํด์ผ ํฉ๋๋ค. (ํํธ: return new Promise((resolve, reject) => { ... }))
- ๋น๋๊ธฐ ์์
๋ฐ ์ฑ๊ณต:
- Promise ์์ฑ์ ๋ด๋ถ์์ setTimeout์ ์ฌ์ฉํ์ฌ delayTime ํ์ ์คํ๋๋๋ก ํฉ๋๋ค.
- ํ์ด๋จธ๊ฐ ๋ง๋ฃ๋๋ฉด, Promise๋ฅผ ์ฑ๊ณต ์ํ๋ก ๋ง๋ญ๋๋ค. (ํํธ: resolve(message) ํธ์ถ)
- Promise ์ฒด์ด๋:
- delayLog ํจ์๋ฅผ ๋ ๋ฒ ์ฐ์์ผ๋ก ํธ์ถํ๊ณ **.then()**์ผ๋ก ์ฐ๊ฒฐํ์ฌ, ์ฒซ ๋ฒ์งธ ์์
์ด ์๋ฃ๋ ํ ๋ ๋ฒ์งธ ์์
์ด ์คํ๋๋๋ก ์์๋ฅผ ๋ณด์ฅํฉ๋๋ค.
- ์ฒซ ๋ฒ์งธ: "์ฒซ ๋ฒ์งธ ์์ ์๋ฃ!" ๋ฉ์์ง, 1000ms ์ง์ฐ.
- ๋ ๋ฒ์งธ: "๋ ๋ฒ์งธ ์์ ๋ ์๋ฃ!" ๋ฉ์์ง, 1500ms ์ง์ฐ.
- delayLog ํจ์๋ฅผ ๋ ๋ฒ ์ฐ์์ผ๋ก ํธ์ถํ๊ณ **.then()**์ผ๋ก ์ฐ๊ฒฐํ์ฌ, ์ฒซ ๋ฒ์งธ ์์
์ด ์๋ฃ๋ ํ ๋ ๋ฒ์งธ ์์
์ด ์คํ๋๋๋ก ์์๋ฅผ ๋ณด์ฅํฉ๋๋ค.
- ์ต์ข
์๋ฃ:
- ๋ง์ง๋ง .then()์์๋ "๋ชจ๋ ๋น๋๊ธฐ ์์ ์ข ๋ฃ."๋ฅผ ์ฝ์์ ์ถ๋ ฅํฉ๋๋ค.
๋๋ณด๊ธฐ
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
function delayLog(message,delayTime) {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve(message);
}, delayTime);
})
}
console.log("์์
์์.....");
delayLog("์ฒซ ๋ฒ์งธ ์์
์๋ฃ!",1000)
.then((result1) => {
console.log(result1);
return delayLog("๋๋ฒ์งธ ์์
๋ ์๋ฃ!", 1500);
})
.then((result2) => {
console.log(result2);
console.log("๋ชจ๋ ๋น๋๊ธฐ ์์
์ข
๋ฃ.");
})
</script>
</body>
</html>
'w. Gemini' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| 4xx ๋น์จ ์์น ๋ฐ ํธ๋ํฝ ๊ธ์ฆ ๋ถ์ (0) | 2025.11.06 |
|---|---|
| ์ฐ์ต ๋ฌธ์ 1: ๊ฐ๋จํ To-Do ๋ฆฌ์คํธ ๊ตฌํ (0) | 2025.11.05 |
| ์ด๋ ๋ฒ์งธ ๋ฌธ์ : ๋น๋๊ธฐ ์์ ์๋ฎฌ๋ ์ด์ ๋ฐ ์ฝ๋ฐฑ ํจ์ ์ดํด (0) | 2025.10.27 |
| ์ดํ ๋ฒ์งธ ๋ฌธ์ : ๋ฐฐ์ด ๋ฐ ํจ์๋ฅผ ํ์ฉํ ์ฅ๋ฐ๊ตฌ๋ ๊ณ์ฐ๊ธฐ (0) | 2025.10.27 |
| ์ด ๋ฒ์งธ ๋ฌธ์ : To-Do List ์ฑ ๋ง๋ค๊ธฐ (0) | 2025.10.27 |
