Front-end/JS
22.02.17 ๋ฉด์ Q & A
ciocio
2022. 2. 18. 14:09
๐ ์๋ฐ์คํฌ๋ฆฝํธ๋ ๋๊ธฐ์ ์ธ์ด์ธ๊ฐ ๋น๋๊ธฐ์ ์ธ์ด์ธ๊ฐ ?
๐ ์๋ฐ์คํฌ๋ฆฝํธ์ "๋๊ธฐ"์ "๋น๋๊ธฐ"์ ๋ํด ์๋๋๋ก ๋งํด๋ณด๊ธฐ
์๋ฐ์คํฌ๋ฆฝํธ๋ ๋๊ธฐ์ ์ธ์ด์ ๋๋ค.
์๋ฐ์คํฌ๋ฆฝํธ์ ์์ง์ด ์ฑ๊ธ ์ค๋ ๋๋ก ๋์ํ๊ธฐ ๋๋ฌธ์, ์ฝ๋๋ฅผ ์์๋๋ก ์ฝ์ ์๋ฐ์ ์์ต๋๋ค.
๋๊ธฐ์ ์ธ ์ธ์ด์ ๋ฌธ์ ์ ์, ํด๋น ํ์คํฌ๋ฅผ ๋๋ด๊ธฐ ์ ๊น์ง๋ ์๋ฌด๊ฒ๋ ์ฒ๋ฆฌํ ์ ์๋ค๋ ์ ์ ๋๋ค.
์ผ๋ก๋ก ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ์ค๋ ์์ ๊ณผ UI ์ปดํฌ๋ํธ์ ๋ ๋๋ง ์์ ์ด ์ฐจ๋ก๋ก ์งํ๋๋ค๊ณ ํ์ ๋,
๋ฐ์ดํฐ๊ฐ ๋ชจ๋ ๋ถ๋ฌ์ค๊ธฐ ์ ๊น์ง ํ๋ฉด์ด ํ์๊ฒ ๋จ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.
๋ฐ๋๋ก UI ์ปดํฌ๋ํธ๋ฅผ ๋จผ์ ๋ ๋๋งํ๋๋ผ๋ ์ปดํฌ๋ํธ์ ํ ๋น๋ ์ด๋ฒคํธ๊ฐ ๋์๋์ง ์๋ ๋ฌธ์ ๋ฅผ ์ผ๊ธฐํ ์ ์์ต๋๋ค.
์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋ธ๋ผ์ฐ์ ์์ง์ ๋ด์ฅ๋ ๋น๋๊ธฐ ๋ฉ์๋๋ฅผ ์ฌ์ฉํฉ๋๋ค.
fetch( ) ๋ setTimeout( ) ๋ฑ์ด ๋น๋๊ธฐ์ ์ผ๋ก ๋์ํ๋ ํจ์์ ๋๋ค.
๋น๋๊ธฐ์ ์ผ๋ก ๋์ํ๋ค๋ ์๋ฏธ๋, ๋๊ธฐ์ ์ผ๋ก ๋์ํ๋ ์ฝ๋์ ํจ๊ป ์งํ๋ ์ ์์์ ๋ปํฉ๋๋ค.
์์ฐจ์ ์ผ๋ก ์ฝ๋๋ฅผ ์ฝ๋ค ๋น๋๊ธฐ ํจ์๋ฅผ ๋ง๋๋ฉด, ๋น๋๊ธฐ ํจ์๋ฅผ ์ฒ๋ฆฌํ๋ ๋ก์ง์ผ๋ก ๋๊ธด ํ
๋ค์ ๋๊ธฐ์ ์ผ๋ก ์ฝ๋๋ฅผ ์ฝ์ด๊ฐ๋๋ค. (์ ๊ฐ ์๊ณ ์๋ ๋๊ธฐ์ ๋น๋๊ธฐ๋ ์ฌ๊ธฐ๊น์ง์ ๋๋ค.)
-> ์๋ฌด๊ฒ๋ ๋ณด์ง ์๊ณ ํผ์ ์์ผ๋ฉด์ ์จ๋ดค๋ค. ์ณ๋ผ ๊ฑด ์ณ๋ด๊ณ ๋ฌธ์ฅ ๋ค๋ฌ๊ธฐ.
์๋ฐ์คํฌ๋ฆฝํธ๋ ๋๊ธฐ์ ์ธ ์ธ์ด์ ๋๋ค.
์๋ฐ์คํฌ๋ฆฝํธ ์์ง์ ๋จ ํ๋์ ์คํ ์ปจํ ์คํธ ์คํ์ ๊ฐ๊ณ , ํ๋ฒ์ ํ๋์ ํ์คํฌ๋ง ์ํํ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
ํ์ฌ ์คํ ์ค์ธ ํ์คํฌ๊ฐ ์ข ๋ฃ๋ ๋๊น์ง ๋ค์ ํ์คํฌ๊ฐ ๋๊ธฐํ๋ ๋ฐฉ์์ "๋๊ธฐ ์ฒ๋ฆฌ"๋ผ๊ณ ํฉ๋๋ค.
๊ทธ๋ฐ๋ฐ ์ด๋, ์ ํ๋ ํ์คํฌ๊ฐ ์ข ๋ฃ๋ ๋๊น์ง ์ดํ ํ์คํฌ๋ค์ด ๋ธ๋กํน๋๋ค๋ ๋จ์ ์ด ์์ต๋๋ค.
์ด๋ฅผ ํด๊ฒฐํ๊ณ ์ ๋์จ ๊ฐ๋ ์ด "๋น๋๊ธฐ ์ฒ๋ฆฌ"์ ๋๋ค.
ํ์ฌ ์คํ์ค์ธ ํ์คํฌ๊ฐ ์ข ๋ฃ๋์ง ์์ ์ํ์ฌ๋ ๋ค์ ํ์คํฌ๋ฅผ ๊ณง๋ฐ๋ก ์คํํ๋ ๋ฐฉ์์ "๋น๋๊ธฐ ์ฒ๋ฆฌ"๋ผ๊ณ ํฉ๋๋ค.
์๋ฐ์คํฌ๋ฆฝํธ์ ๋น๋๊ธฐ ์ฒ๋ฆฌ๋ ๋ธ๋ผ์ฐ์ ์์ง์ด ๋์ต๋๋ค.
์ฑ๊ธ ์ค๋ ๋๋ก ๋์ํ๋ ์๋ฐ์คํฌ๋ฆฝํธ ์์ง๊ณผ ๋ฌ๋ฆฌ
๋ธ๋ผ์ฐ์ ๋ ๋ฉํฐ ์ค๋ ๋๋ก ๋์ํ๊ธฐ ๋๋ฌธ์ ๋น๋๊ธฐ ์ฒ๋ฆฌ๋ฅผ ๋์ธ ์ ์์ต๋๋ค.
์คํ์ปจํ ์คํธ ์คํ์์ ๋ธ๋ผ์ฐ์ ์ ๋ด์ฅ๋ ๋น๋๊ธฐ ํจ์๋ฅผ ํธ์ถํ๋ฉด,
๋ธ๋ผ์ฐ์ ์ ๋ด์ฅ๋ ํ์คํฌ ํ์ ์ผ์์ ์ผ๋ก ์ ์ฅ๋ฉ๋๋ค.
๋ธ๋ผ์ฐ์ ์ ์ด๋ฒคํธ ๋ฃจํ๋ ์คํ์ปจํ ์คํธ ์คํ์ด ๋น์์ง์ ๊ฐ์งํด ํ์คํฌ ํ์ ์ ์ฅ๋ ํจ์๋ค์ ์ฐจ๋ก๋ก ์คํ์ํต๋๋ค.
์๋ฐ์คํฌ๋ฆฝํธ๋ ๋๊ธฐ์ ์ผ๋ก ๋์ํ์ง๋ง, ๋ฐ์ดํฐ์ ๋ธ๋กํน์ ๋ง์ผ๋ฉด์ ๋์ํ ์ ์๋ ์ด์ ์ ๋๋ค.
-> ์ธ์ฐ์ง ๋ง๊ณ ํ๋ฆ๋ง ๊ฐ์ ธ๊ฐ๊ธฐ.
๐ ๊ณผ๊ฑฐ ํ์ต ๋ด์ฉ ๋ณต์ต
2021.09.06 - [Front-end/JS] - ์๋ฐ์คํฌ๋ฆฝํธ ๋น๋๊ธฐ ํ๋ก๊ทธ๋๋ฐ Asynchronous Programming
์๋ฐ์คํฌ๋ฆฝํธ ๋น๋๊ธฐ ํ๋ก๊ทธ๋๋ฐ Asynchronous Programming
๋น๋๊ธฐ ํ๋ก๊ทธ๋๋ฐ ๊ณต๋ถ ์ ์ ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋ ๋์ ์๋ฆฌ์ธ ์คํ ์ปจํ ์คํธ ๊ฐ๋ ๋ถํฐ ์ก๊ณ ๋ค์ด๊ฐ๋ฉด ์ข๊ฒ ๋ค. ์๋ฐ์คํฌ๋ฆฝํธ ์คํ ์ปจํ ์คํธ Execution Context ๋ฏ์ด ๋ณด๊ธฐ ๐ ์คํ ์ปจํ ์คํธ ๊ณต๋ถํด์ผ
code-designer.tistory.com
๋ฐ์ํ