๋ชฉ๋ก๐Ÿ’ป Development/JavaScript (18)

roqkf

๋น„๋™๊ธฐ

const fakeRequest = (url) => { /* Promise๋Š” new ํ‚ค์›Œ๋“œ๋ฅผ ํ†ตํ•ด์„œ Promise ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. ? ์‘๋‹ต์— ์„ฑ๊ณตํ–ˆ์„ ๋•Œ ์ฒ˜๋ฆฌํ•˜๋Š” resolve ํ•จ์ˆ˜์™€ ? ์‘๋‹ต์— ์‹คํŒจํ–ˆ์„ ๋•Œ ์ฒ˜๋ฆฌํ•˜๋Š” reject ํ•จ์ˆ˜ ! ๋‘ ๊ฐ€์ง€ ์ฝœ๋ฐฑํ•จ์ˆ˜๋ฅผ ์ธ์ž๋กœ ๊ฐ–๋Š”๋‹ค ์ •์ƒ์ ์œผ๋กœ ์ฒ˜๋ฆฌ๋˜์—ˆ๋‹ค๋ฉด resolve ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜๊ฒŒ ๋˜๋Š”๋ฐ ์ด๋Š” .then ๋ฉ”์„œ๋“œ๋ฅผ ํ†ตํ•ด์„œ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค. ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๊ฒฝ์šฐ์—๋Š” reject ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜๊ฒŒ ๋˜๋Š”๋ฐ ์ด๋Š” .catch ๋ฉ”์„œ๋“œ๋ฅผ ํ†ตํ•ด ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค. ์ •์ƒ์ฒ˜๋ฆฌ ์—ฌ๋ถ€์™€ ๊ด€๊ณ„ ์—†์ด ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์€ .finally๋ฅผ ํ†ตํ•ด ์ ‘๊ทผ ๊ฐ€๋Šฅํ•˜๋‹ค. Promise chaining => .then, .catch, .finally ๋ฉ”์„œ๋“œ๋Š” Promise๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ฒด์ด๋‹์ด ๊ฐ€๋Šฅํ•ด ..

Promise, async, await

๐Ÿ“Œ 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] ์žฌ๊ท€ ํ•จ์ˆ˜

โค๏ธ‍๐Ÿ”ฅ ์žฌ๊ท€๋ž€? ์žฌ๊ท€(ๅ†ๆญธ) : ์›๋ž˜์˜ ์ž๋ฆฌ๋กœ ๋˜๋Œ์•„๊ฐ€๊ฑฐ๋‚˜ ๋˜๋Œ์•„์˜ด ๐Ÿค” JavaScript์—์„œ ์žฌ๊ท€๋ž€ ์–ด๋–ค ํ˜•ํƒœ์ผ๊นŒ? function recursion(){ recursion(); } ๋‹ค์Œ๊ณผ ๊ฐ™์ด recursion์ด๋ผ๋Š” ํ•จ์ˆ˜ ์•ˆ์—์„œ ์ž๊ธฐ ์ž์‹ ์ธ recursion ํ•จ์ˆ˜๋ฅผ ๋‹ค์‹œ ๋˜๋Œ์•„๊ฐ€์„œ ํ˜ธ์ถœํ•˜๋Š” ๋ชจ์–‘์„ ๋‚˜ํƒ€๋‚ธ๋‹ค. ๐Ÿค” ์žฌ๊ท€๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋ฌธ์ œ ํ•ด๊ฒฐํ•˜๊ธฐ ๋ฌธ์ œ: ์ž์—ฐ์ˆ˜๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฆฌ์ŠคํŠธ(๋ฐฐ์—ด)๋ฅผ ์ž…๋ ฅ๋ฐ›๊ณ , ๋ฆฌ์ŠคํŠธ์˜ ํ•ฉ์„ ๋ฆฌํ„ดํ•˜๋Š” ํ•จ์ˆ˜ arrSum ์„ ์ž‘์„ฑํ•˜์„ธ์š”. ๐Ÿค” ์žฌ๊ท€๋Š” ์–ธ์ œ ์‚ฌ์šฉํ•˜๋ฉด ์ข‹์„๊นŒ? ์ฃผ์–ด์ง„ ๋ฌธ์ œ๋ฅผ ๋น„์Šทํ•œ ๊ตฌ์กฐ์˜ ๋” ์ž‘์€ ๋ฌธ์ œ๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ ์ค‘์ฒฉ๋œ ๋ฐ˜๋ณต๋ฌธ์ด ๋งŽ๊ฑฐ๋‚˜ ๋ฐ˜๋ณต๋ฌธ์˜ ์ค‘์ฒฉ ํšŸ์ˆ˜๋ฅผ ์˜ˆ์ธกํ•˜๊ธฐ ์–ด๋ ค์šด ๊ฒฝ์šฐ ๋ฐ˜๋ณต๋ฌธ์œผ๋กœ ์ž‘์„ฑ๋œ ์ฝ”๋“œ๋ฅผ ๋”์šฑ ๊ฐ„๊ฒฐํ•˜๊ณ  ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ฒŒ ์ž‘์„ฑํ•˜๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ โค๏ธ‍๐Ÿ”ฅ ์žฌ๊ท€์˜ ..

๐Ÿ’ป Development/JavaScript 2022. 12. 15. 03:02
[JavaScript] fetch API

๐Ÿค” fetch API๋ž€? HTTP ํŒŒ์ดํ”„๋ผ์ธ์„ ๊ตฌ์„ฑํ•˜๋Š” ์š”์ฒญ๊ณผ ์‘๋‹ต ๋“ฑ์˜ ์š”์†Œ๋ฅผ JavaScript์—์„œ ์ ‘๊ทผํ•˜๊ณ  ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณต fetch๋Š” '๊ฐ€์ ธ์˜ค๋‹ค'๋ผ๋Š” ๋œป์œผ๋กœ Request๋‚˜ Response์™€ ๊ฐ™์€ ๊ฐ์ฒด๋ฅผ ์ด์šฉํ•ด์„œ HTTP ํŒŒ์ดํ”„๋ผ์ธ์„ ๊ตฌ์„ฑํ•˜๋Š” ์š”์†Œ๋ฅผ ์กฐ์ž‘ํ•˜๊ณ  ์›๊ฒฉ์ง€์—์„œ ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ค๊ธฐ ์œ„ํ•ด์„œ ์‚ฌ์šฉํ•œ๋‹ค Promise๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋™์ž‘ํ•œ๋‹ค ์˜ˆ๋ฅผ ๋“ค๋ฉด ํฌํ„ธ ์‚ฌ์ดํŠธ์—์„œ ์‹œ์‹œ๊ฐ๊ฐ ๋ณ€ํ•˜๋Š” ์ •๋ณด์™€ ๋Š˜ ๊ณ ์ •์ ์ธ ์ •๋ณด๊ฐ€ ๋”ฐ๋กœ ๋ถ„๋ฆฌ๋ผ ์žˆ๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์ด ์ค‘์—์„œ ์ตœ์‹  ๋‰ด์Šค, ๋‚ ์”จ/ ๋ฏธ์„ธ๋จผ์ง€ ์ •๋ณด๋Š” ๋™์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„์•ผ ํ•˜๋Š” ์ •๋ณด๋“ค๋กœ ์ด๋Ÿด ๋•Œ ๋งŽ์€ ์›น์‚ฌ์ดํŠธ์—์„œ ํ•ด๋‹น ์ •๋ณด๋งŒ ์—…๋ฐ์ดํŠธํ•˜๊ธฐ ์œ„ํ•ด์„œ ์š”์ฒญ API๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ๊ทธ ์ค‘์—์„œ ๋Œ€ํ‘œ์ ์ธ Fetch API๋ฅผ ์ด์šฉํ•ด์„œ ํ•ด๋‹น ์ •๋ณด๋ฅผ ์›๊ฒฉ URL๋กœ..

๐Ÿ’ป Development/JavaScript 2022. 11. 25. 01:29
[JavaScript] Node.js

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..

๐Ÿ’ป Development/JavaScript 2022. 11. 25. 01:27