์‚ฌ์ง„์ถœ์ฒ˜


๐ŸŒŸ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ํ†ต์‹ ์€ ๋ฌด์กฐ๊ฑด promise๋กœ ๊ฐ์‹ผ๋‹ค.


๐Ÿ”น ๋น„๋™๊ธฐ ํ˜•์‹ , ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ .

  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ์•ˆ๊ธฐ๋‹ค๋ฆฌ๊ณ  ๋ฌด์‹œํ•˜๊ณ  ์‹คํ–‰ ์‹คํ–‰ ์‹คํ–‰ ํ•œ๋‹ค.
  • ์‘๋‹ต์ด ๋จผ์ € ์˜ค๋Š”๊ฒŒ ์‹คํ–‰๋˜๋Š” ๊ฒƒ์ด๋‹ค ๐Ÿ‘‰ ๋น„๋™๊ธฐํ˜•์‹
  • ( ์ž๋ฐ” : ๋™๊ธฐํ˜•์‹ ๐Ÿ‘‰ ํ•˜๋‚˜ ์‹คํ–‰ํ•˜๊ณ  ์™„๋ฃŒ๋œ ํ›„ ๊ทธ ๋‹ค์Œ์ด ์‹คํ–‰๋œ๋‹ค. )

๐Ÿ”น Promise

  • ์ฝœ๋ฐฑ์ง€์˜ฅ์˜ ํ•ด๊ฒฐ๋ฐฉ์•ˆ
  • ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๋Š” ์ž‘์—…์€ ๋ฌด์กฐ๊ฑด promise
  • promise์˜ ๊ตฌ์กฐ
      var fn = function (resolve, reject) {
        if (true) {
          resolve();
        } else {
          reject();
        }
      };
      var prom = new Promise(fn);
  • Promise๋Š” new๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ฐ์ฒด๋ฅผ ๋งŒ๋“œ๋Š” ์ƒ์„ฑ์ž ํ•จ์ˆ˜์ด๋ฏ€๋กœ, ๋Œ€๋ฌธ์ž๋กœ ์‹œ์ž‘ํ•œ๋‹ค.
  • var ๋ณ€์ˆ˜ = new Promise(function (resolve, reject) { });
  • Promise()๋Š” ๋ฌด์กฐ๊ฑด returnํ•œ๋‹ค.
  • resolve (returnํ•˜๊ณ  ์‹ถ์€ ๊ฐ’); ๐Ÿ‘‰ ์ž˜ ๋งˆ๋ฌด๋ฆฌ ๋˜๋ฉด ์“ฐ๋Š” ํ•จ์ˆ˜
  • reject : ์—๋Ÿฌ๊ฐ€ ๋‚˜๋ฉด ์“ฐ๋Š” ํ•จ์ˆ˜ - ์˜ˆ์™ธ์ฒ˜๋ฆฌ
  • then(function(parameter) {}); ๐Ÿ‘‰ parameter์€ resolve์˜ parameter๊ฐ€ ๊ทธ๋Œ€๋กœ ๋“ค์–ด์˜จ๋‹ค.
  • error(function(parameter) {}); ๐Ÿ‘‰ parameter์€ error์˜ parameter๊ฐ€ ๊ทธ๋Œ€๋กœ ๋“ค์–ด์˜จ๋‹ค.
  • resolve๊ฐ€ promise์—์„œ ํ˜ธ์ถœ๋˜์–ด์•ผ ๋งŒ then์ด ์‹คํ–‰๋˜๊ณ , reject๊ฐ€ promise์—์„œ ํ˜ธ์ถœ๋˜์–ด์•ผ ๋งŒ catch๊ฐ€ ์‹คํ–‰๋œ๋‹ค.
profile
๋ช‡ ๋ฒˆ์„ ๋„˜์–ด์ ธ๋„ ์•ž์œผ๋กœ ๊ณ„์† ๋‚˜์•„๊ฐ€์ž

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

๊ด€๋ จ ์ฑ„์šฉ ์ •๋ณด