Node.js - 14์ผ์ฐจ ๐ŸŒท

์ด์ •์ธยท2023๋…„ 10์›” 6์ผ
0

Node.js

๋ชฉ๋ก ๋ณด๊ธฐ
14/21


๐ŸŒท 14์ผ์ฐจ (23_10_05) ๐ŸŒท

โœ…Promise, async/await


๐Ÿ“ŒPromise, async/await

โœจํ”„๋กœ๋ฏธ์Šค

  • ์ฝœ๋ฐฑ ํ—ฌ์ด๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” ์ง€์ €๋ถ„ํ•œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ์˜ ํ•ด๊ฒฐ์ฑ…
  • ํ”„๋กœ๋ฏธ์Šค : ๋‚ด์šฉ์ด ์‹คํ–‰์€ ๋˜์—ˆ์ง€๋งŒ ๊ฒฐ๊ณผ๋ฅผ ์•„์ง ๋ฐ˜ํ™˜ํ•˜์ง€ ์•Š์€ ๊ฐ์ฒด
  • Then์„ ๋ถ™์ด๋ฉด ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜
  • ์‹คํ–‰์ด ์™„๋ฃŒ๋˜์ง€ ์•Š์•˜์œผ๋ฉด ์™„๋ฃŒ๋œ ํ›„์— then ๋‚ด๋ถ€ ํ•จ์ˆ˜๊ฐ€ ์‹คํ–‰๋จ
  • resolve(์„ฑ๊ณต๋ฆฌํ„ด๊ฐ’) -> then ์œผ๋กœ ์—ฐ๊ฒฐ
  • reject(์‹คํŒจ๋ฆฌํ„ด๊ฐ’) -> catch ๋กœ ์—ฐ๊ฒฐ
  • finally ๋ถ€๋ถ„์€ ๋ฌด์กฐ๊ฑด ์‹คํ–‰๋จ
  • promise.reslove(์„ฑ๊ณต๋ฆฌํ„ด๊ฐ’) : ๋ฐ”๋กœ resolve ํ•˜๋Š” ํ”„๋กœ๋ฏธ์Šค
  • promise.reject(์‹คํŒจ๋ฆฌํ„ด๊ฐ’) : ๋ฐ”๋กœ reject ํ•˜๋Š” ํ”„๋กœ๋ฏธ์Šค
  • promise.all(๋ฐฐ์—ด) : ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ”„๋กœ๋ฏธ์Šค๋ฅผ ๋™์‹œ์— ์‹คํ–‰
    -> ํ•˜๋‚˜๋ผ๋„ ์‹คํŒจํ•˜๋ฉด catch ๋กœ ๊ฐ
    -> allSettled ๋กœ ์‹คํŒจํ•œ ๊ฒƒ๋งŒ ์ถ”๋ ค๋‚ผ ์ˆ˜ ์žˆ์Œ

โœจasync/await


  • then = await
  • await์€ ์˜ค๋ฅธ์ชฝ์—์„œ ์™ผ์ชฝ์œผ๋กœ ์ฝ”๋“œ ์ง„ํ–‰
  • async ์—์„œ return ํ•˜๋Š” ๊ฑด then์œผ๋กœ ๋ฐ›๊ธฐ
async function main() {

	try {
    
      const result = await promise;
      return 'zerocho';
      
	} catch (error) {
    
		console.error(error);

    }

}

// sol 1
main().then((name) => ...)

// sol 2
const name = await main()

profile
๋‘‰์ด๋‹

0๊ฐœ์˜ ๋Œ“๊ธ€