์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- callback
- json
- addEventListener
- https://m.blog.naver.com/tt2t2am1118/221010125300
- sql
- ์ฐธ๊ณ ๋ธ๋ก๊ทธ
- js
- setTimeout()
- await
- ๊ฒ์
- object
- ํผํ
- ajax
- database
- eport
- db
- mysql
- prj
- https://youtube.com/playlist?list=PLuHgQVnccGMA5836CvWfieEQy0T0ov6Jh&si=FTaYv8m21EhO-A2K
- JS #ํ๋ก์ ํธ
- execCommand
- Import
- Porject
- promise
- ๋๊ธฐ
- webpack
- Project
- async
- slow and steady
- ๋น๋๊ธฐ
- Today
- Total
C-log
JS์ ํต์ฌ Promise+Plus ๋ณธ๋ฌธ
Promise๋ ํด๋์ค๋ค. Promise์ ๊ฐ์ฒด๋ ๋น๋๊ธฐ์ ์์ (task) ๊ฒฐ๊ณผ๋ฅผ ๋ํ๋ธ๋ค.
๊ธฐ๋ณธ Promise์ ๊ตฌ์กฐ |
1) |
function print() {
const print = new Promise((res) => {
res("res");
})
return print;
}
|
2) |
function print() {
return new Promise((res) => {
res("res");
})
}
|
const printer = print();
printer.then(console.log('print'));
|
3) |
const print = new Promise((res) => {
res("res");
})
print.then(success => { console.log(success) })
|
success์๋ print(ํด๋น ๋น๋๊ธฐ)์ ๋น๋๊ธฐ ์์ ์ด ์ฑ๊ณตํ ๊ฒฝ์ฐ resolve(res)๊ฐ success์ ๊ฐ์ ์ ๊ณตํด์ค๋ค. ๋ค์๋งํด ๋น๋๊ธฐ ์์ ์ด ์ฑ๊ณตํ๋ฉด .then๊ตฌ๋ฌธ์ success๊ฐ res๊ฐ์ ๋ฐ์ ํ๋ฆฐํธ ๋๋ค๋ ๊ฒ์ด๋ค. |
์ฌ๊ธฐ์ ์ฐ๋ฆฌ๊ฐ ์ง์คํด์ ๋ด์ผํ๋ ๊ฒ์ ํจ์๋ก ์ด๋ฃจ์ด์ง 1)promise์ 3)ํ์ดํ ํ๊ธฐ๋ก ์ด๋ฃจ์ด์ง ํจ์์ด๋ค. 1)ํจ์๋ก ์ด๋ฃจ์ด์ง promise๋ return์ด ์์ด ํจ์๊ฐ ์ ์๋๋ ์๊ฐ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋.ํ์ง๋ง 3)์ ํจ์๋ ๋ฌธ์ ๊ฐ ์๋ค ๊ทธ ์ด์ ๋ ๋ฐ๋ก ํ๋ฐํํจ์ ์์์ return๋ฌธ์ด ์ ์ผํ๋ค๋ฉด ์ค๊ดํธ์ return์ด ์๋ต๋๋ฉด์ ๋ง์ง๋ง 3)๊ณผ ๊ฐ์ ํ๊ธฐ๊ฐ ์ด๋ฃจ์ด ์ง๋ ๊ฒ์ด๋ค. ๋ค์ ๋งํด์ 1)์์๋ถํฐ 3)์ ํํ์ promise์ธ ์์ฑ์ ๊ฐ์ฒด๋ฅผ ๋ค๋ฃจ๋ ๋ฐฉ์๊ณผ ์ ๊ทผ์ด ๋ค๋ฅผ ๋ฟ ๊ฒฐ๊ณผ๋ ๋ชจ๋ ๊ฐ๋ค.
์์ ์ค๋ช ์ด ํ์ดํ๊ธฐ๋ฒ์ ์ค์ฌ์ผ๋ก ์ด์ผ๊ธฐํ ๊ฒ ๊ฐ์ง๋ง ์กฐ๊ธ ๋ ์๊ฐํด๋ณด๋ฉด ํด๋์ค์ ์์ฑ์๊ฐ ์ด๋์ ์ด๋ป๊ฒ ๋ด๊ฒผ๋์ง ์๋ณผ ์ ์๋ค. 1)๋ฒ์ ํจ์๋ ํจ์๋ฅผ ์ ์ธํ๋ฉด์ print๋ผ๋ ๋ณ์์ promise๋ฅผ ๋ฐํํ๋ ๊ตฌ์กฐ์ด๋ค. ๊ฐ์ฒด๋ฅผ ์์ฑํ๊ณ ์ด๋ฅผ print์ promise ๋ฐํ๋ ๊ฐ์ ๋ด์ ๊ฒ์ด๋ค. ๋ฐ๋ผ์ ํจ์์ ๊ธฐ๋ฅ์ ์ํํ๋ฉด์ ๋ฐํ๊ฐ return์ ์ฌ์ฉํจ์ผ๋ก promise๊ฐ ๋ฐํํ ๊ฐ์ ํจ์๋ก ๋ฐํํ๋ ๊ตฌ์กฐ์ด๋ค. (๋ฐํ์ด ๋๋ฒ ์ด๋ฃจ์ด์ง๋ ๊ตฌ์กฐ์ด๋ค. new Promise์ return.)๊ทธ๋์ผ const printer๋ผ๋ ๋ณ์์ ํจ์์ ๋ฐํ๊ฐ์ ๋ด์ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค. 3)๋ฒ์ 1)๋ฒ์ ํจ์๋ฅผ ์์ ํ ํํํด์ const print์ promise๋ฅผ ํ ๋นํ ๊ฒ์ด๋ค. ์ฆ, print๊ฐ ๊ณง promise์ธ ๊ฒ์ด๋ค,.๊ทธ๋ฆฌ๊ณ return์ด ์๋ ์ด์ ๋ ์์ ์ค๋ช ํ ๋ฏ ์๋ต์ด ๋๊ฒ์ด๋ค.
Promise๋ ๋น๋๊ธฐ ์์ ์ ์ฒ๋ฆฌํ๊ธฐ ์ํ ๊ฐ์ฒด์ด๋ค. Promise์ ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํด์ ์ฑ๊ณต์ฌ๋ถ๋ฅผ ํ๋จํ๊ณ ์งํ์ํ๋ฅผ ํ์ธ ํ ์ ์๋ค.
๋งํฌ๋ฅผ ํตํด ์ฌ๋ฏธ์๋ ์์ ๋ฅผ ํ์ธ ํ ์ ์์๋ค.
'๐JS > โกver.1' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
JS์ ํต์ฌ! ํผํ~ with async&await (0) | 2023.04.25 |
---|---|
JS์ ํต์ฌ! ํผํ~ with setTimeout()&Promise (0) | 2023.04.25 |
JS์ ํต์ฌ! async& await+Plus (0) | 2023.04.25 |
JS์ ํต์ฌ! : Promise์ async ๊ทธ๋ฆฌ๊ณ await (0) | 2023.04.17 |
JS์ ํต์ฌ! Introducing with DREAMCODING (0) | 2023.04.17 |