๐ฉ๐ป๐ป Promise์ ๊ธฐ๋ฅ๊ณผ ํ์ํ ์ด์ ์ ๋ํด์ ์ค๋ช ํด ์ฃผ์ธ์.
๐๐ปโ๏ธ ํ๋ก๋ฏธ์ค๋,
์๋ฐ์คํฌ๋ฆฝํธ ๋น๋๊ธฐ ์ฒ๋ฆฌ์ ์ฌ์ฉ๋๋ ๊ฐ์ฒด์ ๋๋ค. ์ฌ๊ธฐ์ ์๋ฐ์คํฌ๋ฆฝํธ์ ๋น๋๊ธฐ ์ฒ๋ฆฌ๋, ํน์ ์ฝ๋์ ์คํ์ด ์๋ฃ๋ ๋๊น์ง ๊ธฐ๋ค๋ฆฌ์ง ์๊ณ ๋ค์ ์ฝ๋๋ฅผ ๋จผ์ ์ํํ๋ ์๋ฐ์คํฌ๋ฆฝํธ์ ํน์ฑ์ ๋งํฉ๋๋ค.
ํ๋ก๋ฏธ์ค๊ฐ ํ์ํ ์ด์ ๋
ํ๋ก๋ฏธ์ค๋ ์ฃผ๋ก ์๋ฒ์์ ๋ฐ์์จ ๋ฐ์ดํฐ๋ฅผ ํ๋ฉด์ ํ์ํ ๋ ์ฌ์ฉํฉ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌํํ ๋ ์๋ฒ์์ ๋ฐ์ดํฐ๋ฅผ ์์ฒญํ๊ณ ๋ฐ์์ค๊ธฐ ์ํด API๋ฅผ ํ์ฉํ๋๋ฐ, API๊ฐ ์คํ๋์ด ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์ค๊ธฐ๋ ์ ์ ๋ฐ์ดํฐ๋ฅผ ๋ค ๋ฐ์์จ ๊ฒ์ฒ๋ผ ํ๋ฉด์ ๋ฐ์ดํฐ๋ฅผ ํ์ํ๋ ค๊ณ ํ๋ฉด ์ค๋ฅ๊ฐ ๋ฐ์ํ๊ฑฐ๋ ๋น ํ๋ฉด์ด ๋น๋๋ค. ์ด๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ๋ฐฉ๋ฒ์ด ํ๋ก๋ฏธ์ค์ ๋๋ค. ์ฆ, ์ฝ๊ฒ ๋งํ์๋ฉด ํ๋ก๋ฏธ์ค๋ ์ต์ข ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ๋ ๊ฒ์ด ์๋๋ผ ๋ฏธ๋์ ์ด๋ค ์์ ์ ๊ฒฐ๊ณผ๋ฅผ ์ ๊ณตํ๊ฒ ๋ค๋ '์ฝ์'์ ๋ฐํํ๋ ๊ฒ์ ๋๋ค.
ํ๋ก๋ฏธ์ค๋ ์ธ ๊ฐ์ง ์ํ๋ฅผ ๊ฐ์ง๋๋ค.
ํ๋ก๋ฏธ์ค๋ฅผ ์ฌ์ฉํ ๋ ์์ ๋์ด์ผ ํ ๊ธฐ๋ณธ์ ์ธ ๊ฐ๋ ์ด ๋ฐ๋ก ํ๋ก๋ฏธ์ค์ ์ํ์ธ๋ฐ์. ์ฌ๊ธฐ์ ๋งํ๋ ์ํ๋, ํ๋ก๋ฏธ์ค์ ์ฒ๋ฆฌ ๊ณผ์ ์ ์๋ฏธํ๋ฉฐ new promise ( )๋ก ์์ฑํ๊ณ ์ข ๋ฃ๋ ๋๊น์ง 3๊ฐ์ง ์ํ๋ฅผ ๊ฐ์ต๋๋ค.
1. Pending(๋๊ธฐ): ๋น๋๊ธฐ ์ฒ๋ฆฌ ๋ก์ง์ด ์์ง ์๋ฃ๋์ง ์์ ์ํ
2. Fulfilled(์ดํ): ๋น๋๊ธฐ ์ฒ๋ฆฌ๊ฐ ์๋ฃ๋์ด ํ๋ก๋ฏธ์ค๊ฐ ๊ฒฐ๊ณผ ๊ฐ์ ๋ฐํํด ์ค ์ํ
3. Rejected(์คํจ): ๋น๋๊ธฐ ์ฒ๋ฆฌ๊ฐ ์คํจํ๊ฑฐ๋ ์ค๋ฅ๊ฐ ๋ฐ์ํ ์ํ
๐ ๋ด์ฉ ์ฐธ์กฐ
๋๊ธ