์ค๋์ ๋จ์ด๋ '๋๊ธฐ'์ '๋น๋๊ธฐ' ์ด๋ค.
๋จผ์ ๋๊ธฐ์ ๋น๋๊ธฐ๋ฅผ ๋๋๋ ๊ด์ ๋ถํฐ ์ํ์๋ฉด,
์ด ๋์ ๋๋๋ ๊ฐ์ฅ ํฐ ์ฐจ์ด์ ์ "์คํ ์์๋ฅผ ์ด๋ป๊ฒ ๊ฐ์ง๋๊ฐ?" ์ด๋ค.
๋๊ธฐ(synchronous)
: ๋๊ธฐ๋ ๋ฐ์ดํฐ์ ์์ฒญ๊ณผ ๊ฒฐ๊ณผ๊ฐ ํ ์๋ฆฌ์์ ๋์์ ์ผ์ด๋๋ค. ์ฆ, ํด๋น ์์ ์ด ๋๋๊ธฐ ์ ๊น์ง๋ ๋ค๋ฅธ ์์ ์ ์ํํ์ง ์๊ณ , ํด๋น ์์ ์ด ์๋ฃ๋ ํ์ ๊ฒฐ๊ณผ๊ฐ ๋ฐํ๋๋ค.
๋น๋๊ธฐ(Asynchronous)
๋ฐ์ดํฐ์ ์์ฒญ๊ณผ ๊ฒฐ๊ณผ๊ฐ ๋์์ ์ผ์ด๋์ง ์๊ณ , ์์ ์ด ์คํ๋๊ณ ์๋ฃ๋๋ ๋์ ๋ค๋ฅธ ์์ ์ ์ํํ ์ ์๋ค. ์ฆ์ฆ, ํด๋น ์์ ์ด ๋๋์ง ์์๋๋ผ๋ ๋ค๋ฅธ ์์ ์ ์ํํ ์ ์๊ณ , ๊ฒฐ๊ณผ๋ ์์ ์ด ์๋ฃ๋ ๋ ๋ฐํ๋๋ค.
๋๊ธฐ์ ๋น๋๊ธฐ์ ์ฅ๋จ์ ๋น๊ต
๋๊ธฐ
์ฅ์ : ์ค๊ณ๊ฐ ์ฝ๊ณ ์ง๊ด์
๋จ์ : ๊ฒฐ๊ณผ๊ฐ ๋ฐํ๋ ๋๊น์ง ๋ค๋ฅธ ์์ ์ํ ๋ถ๊ฐ
๋น๋๊ธฐ
์ฅ์ : ๊ฒฐ๊ณผ๊ฐ ๋ฐํ๋๋ ๋์ ๋ค๋ฅธ ์์ ์ํ ๊ฐ๋ฅ
๋จ์ : ์ค๊ณ๊ฐ ๋น๊ต์ ์ด๋ ต๊ณ ๋ณต์กํจ.
์ถ๊ฐ์ ์ผ๋ก Javascript๋ฅผ ๊ณต๋ถํ๋ ์ฌ๋์ผ๋ก์จ "Javascript์ ๋น๋๊ธฐ์ฒ๋ฆฌ" ๋ ์๊ฐํ๊ณ ๋ง์น๊ฒ ๋ค.
Javascript์ ๋น๋๊ธฐ์ฒ๋ฆฌ
๋จผ์ Javascript๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋น๋๊ธฐ์ ์ผ๋ก ๋์ํ์ง๋ง, ์ข ์ข ๋น๋๊ธฐ์ ์ผ๋ก ๋์ํ๋ ๋ถ๋ถ์ด ๋๊ธฐ์ ์ผ๋ก ๋์ํด์ผ ํ๋ ๊ฒฝ์ฐ๊ฐ ์๊ธด๋ค.
์ด๋ด ๋ ๋น๋๊ธฐ์ ์ธ ๋์์ด ๋๊ธฐ์ ์ผ๋ก ๋์ํ๊ธฐ ์ํด ํด์ฃผ๋ ์ฒ๋ฆฌ๊ฐ "๋น๋๊ธฐ ์ฒ๋ฆฌ" ์ด๋ค.'
* Javascript์ ๋น๋๊ธฐ ์ฒ๋ฆฌ ๋ฐฉ์
1. ์ฝ๋ฐฑ ํจ์(Callback Function) ์ฌ์ฉ
2. Promise
3. Promise๋ฅผ ํ์ฉํ async/await
๋น๋๊ธฐ ์ฒ๋ฆฌ ๋ฐฉ์์ ๊ฐ ์ค๋ช ์ ๋ค์์ ํ๋์ฉ ์์ธํ ๋ค๋ค ์๊ฐํ๊ฒ ๋ค !
์ฐธ๊ณ : https://tlsdnjs12.tistory.com/12
'8์ Challenge : ๋จ์ด ๋ ๊ฐ์ฉ ์๊ฐํ๊ธฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
API ์ ์ธํฐํ์ด์ค(Interface) (0) | 2023.08.21 |
---|---|
[WEB]์นํธ์คํ vs ์๋ฒํธ์คํ vs ํด๋ผ์ฐ๋ ์ฐจ์ด (0) | 2023.08.18 |
[html] ๋งํฌ์ (Markup) ๊ณผ ๋งํฌ๋ค์ด(Markdown) (0) | 2023.08.14 |
8/10 (0) | 2023.08.10 |
[CS์ง์] ํ๋ ์์ํฌ(Framework)์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ(Library) (0) | 2023.08.09 |