๋ชจ๋ ํฌ์คํ
์ ์ธํ๋ฐ ECMAScript6: ๋น ๋ฅด๊ฒ ๋ฐฐ์ฐ๋ ES6 ์คํฌ๊ณผ ๋น๋๊ธฐ ํ๋ก๊ทธ๋จ ์ ๋ด์ฉ์ ๋ด๊ณ ์์ผ๋ฉฐ
์ถ์ฒ๋ ์๋์ ์ฃผ์๋ก "๊นํํ"๋์ ์๋ฃ์
๋๋ค.
์์
์ ์ธ ์๋๊ฐ ์๋ ๊ณต๋ถํ ๊ฒ์ ์ ๋ฆฌํด๋๋ ๋ชฉ์ ์ผ๋ก ํฌ์คํ
ํ ๊ฒ์
๋๋ค.
www.inflearn.com/course/es6-ecmascript-6
์ .. ์ ๋ง ์ด์ฌํ ๊ฐ์ ๋ด์ฉ ํ๋ํ๋ ์ฝ๋๊น์ง ์ผ์ผ์ด ๋ค ์ ์๋๋ฐ ๋ค ๋ ๋ผ๊ฐ๋ค์ ^^..
๊ทธ๋์ ์ด๋ฒ ๊ธ๋ถํด ๊ทธ๋ฅ ๊ฐ๋จํ ํน์ง๋ง ์ฐ๊ฒ ์ต๋๋ค;; (ํ..ํฐ์คํ ๋ฆฌ ์ค๋ฅ ๋นจ๋ฆฌ ๊ณ ์ณ์คฌ์ผ๋ฉด..^^)
1. Promise & then
#promise
๋น๋๊ธฐ ์ฒ๋ฆฌ๋ฅผ ์ข ๋ ์ฝ๊ฒ ํ๊ธฐ ์ํด ์ธ์ด์ ์ฐจ์์์ ์ง์ํ๋ ํน์ง
# then
๋๊ฐ์ ์ธ์๋ resolved/rejected ์ํ๊ฐ์ ๋ฐ์ ์ฒ๋ฆฌํ๋ ์ฝ๋ฐฑํจ์
2. chaining & catch
#chaining
์ฌ๋ฌ๊ฐ์ ํ๋ก๋ฏธ์ค๋ฅผ ์ฐ๊ฒฐํด์ค
#catch
๊ฑฐ์ ํธ๋ค๋ฌ๋ง ํ ๋น. ํ๋ก๋ฏธ์ค๊ฐ ๊ฑฐ๋ถ๋ ๊ฒฝ์ฐ ๋ฌด์์ ํ ์ง ์ ์ ํจ.
3. all
# all
์ฌ๋ฌ ํ๋ก๋ฏธ์ค์ ์งํ์ํ๋ฅผ ๋ชจ๋ํฐ๋ง ํ ๋ ์ฌ์ฉ, ๋ชจ๋ ํ๋ก๋ฏธ์ค๋ฅผ ์ฑ๊ณตํ๋ฉด resolve, ์๋ ๊ฒฝ์ฐ reject
์์ ์ฝ๋ 1)
์์ ์ฝ๋ 2)
# ์ ๋ฆฌํ๊ธฐ
ํ๋ก๋ฏธ์ค๋ ์๋ฐ์คํฌ๋ฆฝํธ์์ event ๋ฐ callback๋ณด๋ค ๋น๋๊ธฐ ํ๋ก๊ทธ๋๋ฐ์ ๊ฐ์ ํ๊ธฐ ์ํด ์ค๊ณ๋์๋ค.
ํ๋ก๋ฏธ์ค๋ ๋๊ธฐ์ํ์์ ์์๋์ด, ์ฑ๊ณต์ ์ธ ์คํ์ผ๋ก ์ดํ๋๊ฑฐ๋ ์คํจ๋ก ์ธํด ๊ฑฐ๋ถ๋๋ค.
new Promise๋ก ํ๋ก๋ฏธ์ค ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ฉด callbackํจ์ ์ธ์๋ก resolve์ reject๋ฅผ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ,
resolve()๊ฐ ์คํ๋๋ฉด fulfilled, reject()๊ฐ ์คํ๋๋ฉด rejected์ํ๊ฐ ๋๋ค.
then ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ฉด ์ํ ๋ฐ ๊ฑฐ์ ํธ๋ค๋ฌ๋ฅผ ํ ๋น ํ ์ ์์ผ๋ฉฐ
catch ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฑฐ์ ํธ๋ค๋ฌ๋ง ํ ๋น์ด ๊ฐ๋ฅํ๋ค