์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- wai-aria
- fetch api
- ์คํ ์ด์ธ ์ฝ๋42๊ธฐ
- ๋ฒ๋ค๋ง
- Cmarket
- Lifting state
- WEB
- css animation
- React
- ํ ์คํธ ์์
- props drilling
- BFS์ DFS
- jsx
- ์ ์ด์ฝฅ ๋์จ
- git
- ํ๋ก๊ทธ๋๋จธ์ค
- ์ปดํจํฐ ๊ณตํ
- Effect Hook
- JavaScript
- css
- Study
- html
- ํผํฐ ๋ชจ๋น์ ๋ฒ์ง ๋ชจํ
- ๊ณ ์ฐจํจ์
- prototype
- State
- ์๋งจํฑ์์
- ์คํ ์ด์ธ ์ฝ๋
- ํผํฐ ๋ชจ๋น
- ๋ฒ์ง ๋ชจํ
- Today
- Total
๋ชฉ๋ก๐ป Development/JavaScript (18)
roqkf

const fakeRequest = (url) => { /* Promise๋ new ํค์๋๋ฅผ ํตํด์ Promise ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ค. ? ์๋ต์ ์ฑ๊ณตํ์ ๋ ์ฒ๋ฆฌํ๋ resolve ํจ์์ ? ์๋ต์ ์คํจํ์ ๋ ์ฒ๋ฆฌํ๋ reject ํจ์ ! ๋ ๊ฐ์ง ์ฝ๋ฐฑํจ์๋ฅผ ์ธ์๋ก ๊ฐ๋๋ค ์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์๋ค๋ฉด resolve ํจ์๋ฅผ ํธ์ถํ๊ฒ ๋๋๋ฐ ์ด๋ .then ๋ฉ์๋๋ฅผ ํตํด์ ์ ๊ทผํ ์ ์๋ค. ์๋ฌ๊ฐ ๋ฐ์ํ์ ๊ฒฝ์ฐ์๋ reject ํจ์๋ฅผ ํธ์ถํ๊ฒ ๋๋๋ฐ ์ด๋ .catch ๋ฉ์๋๋ฅผ ํตํด ์ ๊ทผํ ์ ์๋ค. ์ ์์ฒ๋ฆฌ ์ฌ๋ถ์ ๊ด๊ณ ์์ด ์ฒ๋ฆฌํ๋ ๊ฒ์ .finally๋ฅผ ํตํด ์ ๊ทผ ๊ฐ๋ฅํ๋ค. Promise chaining => .then, .catch, .finally ๋ฉ์๋๋ Promise๋ฅผ ๋ฐํํ๊ธฐ ๋๋ฌธ์ ์ฒด์ด๋์ด ๊ฐ๋ฅํด ..

๐ Promise โจ new Promise Promise๋ class์ด๊ธฐ ๋๋ฌธ์ new ํค์๋๋ฅผ ํตํด Promise ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ค. ๋ํ Promise๋ ๋น๋๊ธฐ ์ฒ๋ฆฌ๋ฅผ ์ํํ ์ฝ๋ฐฑ ํจ์(executor)๋ฅผ ์ธ์๋ก ์ ๋ฌ๋ฐ๋๋ฐ ์ด ์ฝ๋ฐฑ ํจ์๋ resolve, reject ํจ์๋ฅผ ์ธ์๋ก ์ ๋ฌ๋ฐ๋๋ค. Promise ๊ฐ์ฒด๊ฐ ์์ฑ๋๋ฉด executor๋ ์๋์ผ๋ก ์คํ๋๊ณ ์์ฑํ๋ ์ฝ๋๋ค์ด ์๋๋๋ค. ์ฝ๋๊ฐ ์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๊ฐ ๋์๋ค๋ฉด resolve ํจ์๋ฅผ ํธ์ถํ๊ณ ์๋ฌ๊ฐ ๋ฐ์ํ์ ๊ฒฝ์ฐ์๋ reject ํจ์๋ฅผ ํธ์ถํ๋ฉด ๋๋ค. let promise = new Promise((resolve, reject) => { // 1. ์ ์์ ์ผ๋ก ์ฒ๋ฆฌ๋๋ ๊ฒฝ์ฐ // resolve์ ์ธ์์ ๊ฐ์ ์ ๋ฌํ ์๋ ์์ต๋๋ค. resolve(..

โค๏ธ๐ฅ ์ฌ๊ท๋? ์ฌ๊ท(ๅๆญธ) : ์๋์ ์๋ฆฌ๋ก ๋๋์๊ฐ๊ฑฐ๋ ๋๋์์ด ๐ค JavaScript์์ ์ฌ๊ท๋ ์ด๋ค ํํ์ผ๊น? function recursion(){ recursion(); } ๋ค์๊ณผ ๊ฐ์ด recursion์ด๋ผ๋ ํจ์ ์์์ ์๊ธฐ ์์ ์ธ recursion ํจ์๋ฅผ ๋ค์ ๋๋์๊ฐ์ ํธ์ถํ๋ ๋ชจ์์ ๋ํ๋ธ๋ค. ๐ค ์ฌ๊ท๋ฅผ ํ์ฉํ์ฌ ๋ฌธ์ ํด๊ฒฐํ๊ธฐ ๋ฌธ์ : ์์ฐ์๋ก ์ด๋ฃจ์ด์ง ๋ฆฌ์คํธ(๋ฐฐ์ด)๋ฅผ ์ ๋ ฅ๋ฐ๊ณ , ๋ฆฌ์คํธ์ ํฉ์ ๋ฆฌํดํ๋ ํจ์ arrSum ์ ์์ฑํ์ธ์. ๐ค ์ฌ๊ท๋ ์ธ์ ์ฌ์ฉํ๋ฉด ์ข์๊น? ์ฃผ์ด์ง ๋ฌธ์ ๋ฅผ ๋น์ทํ ๊ตฌ์กฐ์ ๋ ์์ ๋ฌธ์ ๋ก ๋๋ ์ ์๋ ๊ฒฝ์ฐ ์ค์ฒฉ๋ ๋ฐ๋ณต๋ฌธ์ด ๋ง๊ฑฐ๋ ๋ฐ๋ณต๋ฌธ์ ์ค์ฒฉ ํ์๋ฅผ ์์ธกํ๊ธฐ ์ด๋ ค์ด ๊ฒฝ์ฐ ๋ฐ๋ณต๋ฌธ์ผ๋ก ์์ฑ๋ ์ฝ๋๋ฅผ ๋์ฑ ๊ฐ๊ฒฐํ๊ณ ์ดํดํ๊ธฐ ์ฝ๊ฒ ์์ฑํ๊ณ ์ถ์ ๊ฒฝ์ฐ โค๏ธ๐ฅ ์ฌ๊ท์ ..

๐ค fetch API๋? HTTP ํ์ดํ๋ผ์ธ์ ๊ตฌ์ฑํ๋ ์์ฒญ๊ณผ ์๋ต ๋ฑ์ ์์๋ฅผ JavaScript์์ ์ ๊ทผํ๊ณ ์กฐ์ํ ์ ์๋ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณต fetch๋ '๊ฐ์ ธ์ค๋ค'๋ผ๋ ๋ป์ผ๋ก Request๋ Response์ ๊ฐ์ ๊ฐ์ฒด๋ฅผ ์ด์ฉํด์ HTTP ํ์ดํ๋ผ์ธ์ ๊ตฌ์ฑํ๋ ์์๋ฅผ ์กฐ์ํ๊ณ ์๊ฒฉ์ง์์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๊ธฐ ์ํด์ ์ฌ์ฉํ๋ค Promise๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋์ํ๋ค ์๋ฅผ ๋ค๋ฉด ํฌํธ ์ฌ์ดํธ์์ ์์๊ฐ๊ฐ ๋ณํ๋ ์ ๋ณด์ ๋ ๊ณ ์ ์ ์ธ ์ ๋ณด๊ฐ ๋ฐ๋ก ๋ถ๋ฆฌ๋ผ ์๋ ๊ฒ์ ๋ณผ ์ ์๋ค. ์ด ์ค์์ ์ต์ ๋ด์ค, ๋ ์จ/ ๋ฏธ์ธ๋จผ์ง ์ ๋ณด๋ ๋์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์ผ ํ๋ ์ ๋ณด๋ค๋ก ์ด๋ด ๋ ๋ง์ ์น์ฌ์ดํธ์์ ํด๋น ์ ๋ณด๋ง ์ ๋ฐ์ดํธํ๊ธฐ ์ํด์ ์์ฒญ API๋ฅผ ์ฌ์ฉํ๋ค. ๊ทธ ์ค์์ ๋ํ์ ์ธ Fetch API๋ฅผ ์ด์ฉํด์ ํด๋น ์ ๋ณด๋ฅผ ์๊ฒฉ URL๋ก..

์ ๋๋ฉ์ด์ ๋ฒํผ์ ํด๋ฆญํ๋ฉด ํด๋น ๊ณ ์์ด ์์์ด ์คํ๋๋ค callback promise async & await 1. callback function runCallback() { resetTitle(); // ์ ๋ชฉ ์ด๊ธฐํ playVideo(); // ์์ ์ฌ์ delay(1000, () => { // 1์ด ๋ค์ ์์์ด ํ์ด์ง๊ณ ์ ๋ชฉ์ ํ์ํจ pauseVideo(); displayTitle(); delay(500, () => { // 0.5์ด(?) ๋ค์ ์ ๋ชฉ ๊ฐ์กฐ highlightTitle(); delay(2000, resetTitle); // 2์ด ๋ค์ ์ ๋ชฉ ์ด๊ธฐํ }); }); } function resetTitle() { log('์ ๋ชฉ์ ์ด๊ธฐํํฉ๋๋ค'); title.classList.remove('vi..

Node.js ๋น๋๊ธฐ ์ด๋ฒคํธ ๊ธฐ๋ฐ JavaScipt ๋ฐํ์ Node.js์ ๊ฒฝ์ฐ์๋ ๋ง์ API๊ฐ ๋น๋๊ธฐ๋ก ์์ฑ๋ผ ์๋ค ๐ค ๋ชจ๋์ด๋? ๊ฑด์ถ์ผ๋ก๋ถํฐ ๋น๋กฏ๋ ๋ชจ๋์ด๋ผ๋ ๋จ์ด ์ด๋ค ๊ธฐ๋ฅ์ ์กฐ๋ฆฝํ ์ ์๋ ํํ๋ก ๋ง๋ ๋ถ๋ถ fs(File System) ๋ชจ๋: PC ํ์ผ์ ์ฝ๊ฑฐ๋ ์ ์ฅํ๋ ๋ฑ์ ์ผ์ ํ ์ ์๊ฒ ๋์์ค๋ค ๋ชจ๋ ๋ชจ๋์ ๋ชจ๋์ ์ฌ์ฉํ๊ธฐ ์ํด ๋ถ๋ฌ์ค๋ ๊ณผ์ ์ด ํ์ํ๋ค! Node.js ๋ด์ฅ ๋ชจ๋์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ Node.js ๋ด์ฅ ๋ชจ๋ ๋ชฉ๋ก - https://nodejs.org/dist/latest-v16.x/docs/api/ โ ํ์ผ์ ์ฝ์ ๋ ์ฐ๋ ๋ฉ์๋ readFile โ ํ์ผ์ ์ ์ฅํ ๋ ๋ฉ์๋ writeFile ๐จ Node.js์์ ๋ค๋ฅธ ํ์ผ์ ๋ถ๋ฌ์ค๋ require ๊ตฌ๋ฌธ const fs = r..