๋ฐฐ์ด์ด๋ ๊ฐ์ฒด์ ์์ ๋ฐ ํ๋กํผํฐ๋ค์ ๋ถํด ํ์ฌ,
๊ทธ ๊ฐ๋ค์ ๊ฐ๊ฐ์ ๋ณ์์ ํ ๋นํ๋ ์๋ฐ์คํฌ๋ฆฝํธ์ ํํ์
์ ์ธ๊ฐ๋ฅผ ์จ์ ํน์ ๊ฐ์ฒด ๋๋ ๋ฐฐ์ด์ด ๊ฐ์ง๋ ๋ฐ๋ณต์ ์ธ ํ๋กํผํฐ๋ฅผ ํผ๋จ๋ ค ์ค๋ค.
๋๋จธ์ง ๋งค๊ฐ๋ณ์
๋ฌถ์ด์ฃผ๋ ๋ฌธ๋ฒ์.
rest๋ ๋งจ ๋ง์ง๋ง์ ๋ฃ์ด์ผ ํจ. (์์์ ์๋ฏผ)
ํ๋์ ์์
์ด ์คํ๋๋ ๋์์ ๋ค๋ฅธ ์์
์ ๋์์ ์งํํ์ง ์๋ ๋ฐฉ์
์์ ์์
์ด ์ข
๋ฃ๋ ์ดํ ๋ค์ ์์
์ ์งํํ ์ ์๋ ์์ฐจ์ ์ธ ๋ฐฉ์
๊ทธ๋ ๋ค๋ฉด ์ฌ๋ฌ ์ค๋ ๋๋ฅผ ์ฌ์ฉํด์ ํ๊บผ๋ฒ์ ์ฌ๋ฌ ์์
์ ํ ์ ์๊ฒ๋ ํ ์ ์ด์ง ์์๊น? -> ๋ฉํฐ์ค๋ ๋ ๋ฐฉ์
but ์๋ฐ์คํฌ๋ฆฝํธ๋ single thread ๋ฐฉ์๋ง ๊ฐ๋ฅ
๋ฐ๋ผ์ ๋น๋๊ธฐ ์ฒ๋ฆฌ๋ฅผ ์ฌ์ฉํ ์ ์์ด์ผ ํ๋ค.
ํ๋์ ์ค๋ ๋์์ ์ฌ๋ฌ๊ฐ์ ์์
์ ๋์์ ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅ
-> ์์
์ ํจ์จ์ ์ผ๋ก ์ฒ๋ฆฌํ ์ ์๋ค.
-> ์ด๋ฐ์์ผ๋ก D->B->A-.>C์์๋๋ก ์ถ๋ ฅ๋๋ค.
๋น๋๊ธฐ์์
์ ๋ ํธ๋ฆฌํ๊ฒ ์ฒ๋ฆฌํ ์ ์๊ฒ ํด์ฃผ๋ ์๋ฐ์คํฌ๋ฆฝํธ ๋ด์ฅ ๊ฐ์ฒด
promise ๊ฐ์ฒด๋ฅผ ๋ง๋ค ๋์๋ ์ธ์๋ก excecutor๋ผ๋ ์คํํจ์๋ฅผ ์ ๋ฌํ๋ค.
new Promise(executor)
state: pending(๋๊ธฐ)
result: undefined
-> resolve (value) - > state:fulfilled result: value
-> reject (error) - > state: rejected result : error
์ฒ๋ฆฌ๊ฐ ๋๋ promise ๊ฐ์ฒด๋ ๋์ด์ ๋ณ๊ฒฝ์ด ์๋๋ค.
์์
์ด ์ฑ๊ณตํ์ ๋๋ then, ์คํจํ์ ๋๋ catch ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ค.
ํด๋ผ์ด์ธํธ-์๋ฒ ํต์
ํด๋ผ์ด์ธํธ: ๋ฐ์ดํฐ๋ฅผ ์์ฒญ
์๋ฒ: ๋ฐ์ดํฐ ๋ฒ ์ด์ค์์ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ ํ ์ฐพ๊ณ ๊ฐ์ ธ์ค๊ธฐ
๊ทธ๋ฆฌ๊ณ , ํด๋ผ์ด์ธํธ์ ๋ฐ์ดํฐ ์ ๋ฌ
API: ํด๋ผ์ด์ธํธ์ ์๋ฒ๊ฐ์ ํต์ ์ด๋ผ๊ณ ํ ์ ์๋ค
๋ฐ์ดํฐ๋ฅผ ์์ฒญํ๊ณ ์ ๋ฌ๋ฐ๋ ๋ฐฉ๋ฒ!
์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ์ฒด ํ๊ธฐ๋ฒ
๋ฐ์ดํฐ๋ฅผ ์ ์กํ ๋ ์ฌ์ฉ๋จ
url์ ํตํด ํธ์ถ์ด ๊ฐ๋ฅํ๋ค.