์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 | 29 | 30 |
- ํ๋ก๊ทธ๋๋จธ์ค
- Flex
- ์๋ฐ์คํฌ๋ฆฝํธ
- history api
- REACT
- fetch API
- useEffect
- float
- ์๊ณ ๋ฆฌ์ฆ
- position
- ๋ฐ๋ธ์ฝ์ค3๊ธฐ
- useRef
- CSS
- ์ฝ๋ฉํ ์คํธ
- Props
- ํ๋ก ํธ์๋
- ๋ฐ๋ธ์ฝ์ค
- Gatsby
- ๋ธ๋ก๊ทธ
- Today
- Total
Daehyunii's Dev-blog
45์ฅ ํ๋ก๋ฏธ์ค(โป๋จ์ ๊ฐ๋ ๋ง ์ ๋ฆฌ) ๋ณธ๋ฌธ
45์ฅ ํ๋ก๋ฏธ์ค(โป๋จ์ ๊ฐ๋ ๋ง ์ ๋ฆฌ)
Daehyunii 2022. 7. 30. 13:45์๋ฐ์คํฌ๋ฆฝํธ๋ ๋น๋๊ธฐ ์ฒ๋ฆฌ๋ฅผ ์ํ ํ๋์ ํจํด์ผ๋ก ์ฝ๋ฐฑ ํจ์๋ฅผ ์ฌ์ฉํ๋ค. ํ์ง๋ง ์ ํก์ ์ธ ์ฝ๋ฐฑ ํจํด์ ์ฝ๋ฐฑ ํฌ๋ก ์ธํด ๊ฐ๋ ์ฑ์ด ๋์๊ณ ๋น๋๊ธฐ ์ฒ๋ฆฌ ์ค ๋ฐ์ํ ์๋ฌ์ ์ฒ๋ฆฌ๊ฐ ๊ณค๋ํ๋ฉฐ ์ฌ๋ฌ ๊ฐ์ ๋น๋๊ธฐ ์ฒ๋ฆฌ๋ฅผ ํ๋ฒ์ ์ฒ๋ฆฌํ๋ ๋ฐ๋ ํ๊ณ๊ฐ ์๋ค. ES6์์๋ ๋น๋๊ธฐ ์ฒ๋ฆฌ๋ฅผ ์ํ ๋ ๋ค๋ฅธ ํจํด์ผ๋ก ํ๋ก๋ฏธ์ค๋ฅผ ๋์ ํ๋ค. ํ๋ก๋ฏธ์ค๋ ์ ํต์ ์ธ ์ฝ๋ฐฑ ํจํด์ด ๊ฐ์ง ๋จ์ ์ ๋ณด์ํ๋ฉฐ ๋น๋๊ธฐ ์ฒ๋ฆฌ ์์ ์ ๋ช ํํ๊ฒ ํํํ ์ ์๋ค๋ ์ฅ์ ์ด ์๋ค.
45.2 ํ๋ก๋ฏธ์ค์ ์์ฑ
Promise ์์ฑ์ ํจ์๋ฅผ new ์ฐ์ฌ์์ ํจ๊ป ํธ์ถํ๋ฉด ํ๋ก๋ฏธ์ค ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ค. ES6์์ ๋์ ๋ Promise๋ ํธ์คํธ ๊ฐ์ฒด๊ฐ ์๋ ECMAscript ์ฌ์์ ์ ์๋ ํ์ค ๋นํธ์ธ ๊ฐ์ฒด๋ค. Promise ์์ฑ์ ํจ์๋ ๋น๋๊ธฐ ์ฒ๋ฆฌ๋ฅผ ์ํํ ์ฝ๋ฐฑ ํจ์๋ฅผ ์ธ์๋ก ์ ๋ฌ๋ฐ๋๋ฐ ์ด ์ฝ๋ฐฑ ํจ์๋ resolve์ reject ํจ์๋ฅผ ์ธ์๋ก ์ ๋ฌ๋ฐ๋๋ค.
const promise = new Promise((resolve, reject) => {
if( /* ๋น๋๊ธฐ ์ฒ๋ฆฌ ์ฑ๊ณต */ ){
resolve('result');
}else{ /* ๋น๋๊ธฐ ์ฒ๋ฆฌ ์คํจ */
reject('failure reason');
}
});
Promise ์์ฑ์ ํจ์๊ฐ ์ธ์๋ก ์ ๋ฌ๋ฐ์ ์ฝ๋ฐฑ ํจ์ ๋ด๋ถ์์ ๋น๋๊ธฐ ์ฒ๋ฆฌ๋ฅผ ์ํํ๋ค. ์ด๋ ๋น๋๊ธฐ ์ฒ๋ฆฌ๊ฐ ์ฑ๊ณตํ๋ฉด ์ฝ๋ฐฑ ํจ์์ ์ธ์๋ก ์ ๋ฌ๋ฐ์ resolve ํจ์๊ฐ ํธ์ถํ๊ณ , ๋น๋๊ธฐ ์ฒ๋ฆฌ๊ฐ ์คํจํ๋ฉด reject ํจ์๋ฅผ ํธ์ถํ๋ค.
'๐ Language & CS knowledge > JavaScript (๋ชจ๋์๋ฐ์คํฌ๋ฆฝํธ Deep Dive)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
47์ฅ ์๋ฌ ์ฒ๋ฆฌ (0) | 2022.07.30 |
---|---|
46์ฅ ์ ๋๋ ์ดํฐ์ async/await(โป๋จ์ ๊ฐ๋ ๋ง ์ ๋ฆฌ) (0) | 2022.07.30 |
44์ฅ REST API(โป๋จ์ ๊ฐ๋ ๋ง ์ ๋ฆฌ) (0) | 2022.07.29 |
42์ฅ ๋น๋๊ธฐ ํ๋ก๊ทธ๋๋ฐ (0) | 2022.07.29 |
39์ฅ DOM(๋ ธ๋๋ค๋ก ๊ตฌ์ฑ๋ ํธ๋ฆฌ ์๋ฃ๊ตฌ์กฐ) (0) | 2022.07.28 |