DevLog

TIL(20210727) - ๋น„๋™๊ธฐ(callback, promise, asyncAwait) ๋ณธ๋ฌธ

๐Ÿค” TIL(Today I Learned)

TIL(20210727) - ๋น„๋™๊ธฐ(callback, promise, asyncAwait)

Seungjae Lee 2021. 7. 27. 22:26

๐ŸŽ Today

- javascript ๋น„๋™๊ธฐ ํ˜ธ์ถœ, callback ํ•™์Šต

- Promise, async/await ํ•™์Šต

- Node.js ๋‚ด์žฅ๋ชจ๋“ˆ ์‚ฌ์šฉ๋ฒ• ํ•™์Šต

๐Ÿค” Learned

๋น„๋™๊ธฐ ์ฝœ๋ฐฑํ•จ์ˆ˜ ์‚ฌ์šฉ๋ฒ•

const delay = (wait, callback) => {
  setTimeout(callback, wait);
}

function runCallback() {
  resetTitle();
  playVideo();

  delay(1000, () => {
    pauseVideo();
    displayTitle();

    delay(500, () => {
      highlightTitle();

      delay(2000, resetTitle);
    });
  });
}

Promise ์‚ฌ์šฉ๋ฒ•

const sleep = (wait) => {
  return new Promise((resolve) => {
    setTimeout(() => {
      resolve('hello');
    }, wait);
  });
};

// const sleep = (wait) => {
//   return new Promise((resolve, reject) => {
//     setTimeout(() => {
//       reject(new Error('์—๋Ÿฌ'));
//     }, wait);
//   });
// };

function runPromise() {
  resetTitle();
  playVideo();

  sleep(1000)
    .then((param) => {
      console.log(param);
      pauseVideo();
      displayTitle();
      return "world!!!" + param;
    })
    .then((param) => {
      console.log(param);
      sleep(500);
    })
    .then(highlightTitle)
    .then(sleep.bind(null, 2000))
    .then(resetTitle)
    .catch(err => {
      console.log(err);
    })
}

 

async/await ์‚ฌ์šฉ๋ฒ•

async function runAsync() {
  resetTitle();
  playVideo();

  await sleep(1000);
  pauseVideo();
  displayTitle();

  await sleep(500);
  highlightTitle();

  await sleep(2000);
  resetTitle();
}

 

Node.js - fs ๋ชจ๋“ˆ ์‚ฌ์šฉ๋ฒ•

const fs = require('fs');

fs.readFile('test.txt', 'utf8', (err, data) => {
    if (err) {
        throw err; // ์—๋Ÿฌ๋ฅผ ๋˜์ง‘๋‹ˆ๋‹ค.
    }
    console.log(data);
});

 


๋น„๋™๊ธฐ ํ˜ธ์ถœ์— ๋Œ€ํ•ด ํ•™์Šตํ•˜๋ฉด์„œ ๋А๋‚€ ์ 

๋งŽ์ด ๋ณต์žกํ•˜๊ณ  ์–ด๋ ต์ง€๋งŒ ์ด์ œ์•ผ ์ œ๋Œ€๋กœ ๋œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ๋ฐฐ์šฐ๋Š” ๊ฒƒ ๊ฐ™๋‹ค. 

๋ณต์Šต์„ ํ™•์‹คํ•˜๊ฒŒ ํ•˜์ง€ ์•Š๊ณ  ๋„˜์–ด๊ฐ„๋‹ค๋ฉด ๋‚˜์ค‘์— ๋งŽ์ด ํž˜๋“ค์–ด์งˆ ๊ฒƒ ๊ฐ™์€ ํŒŒํŠธ๋‹ค.

 

+ ์ž๋ฃŒ๊ตฌ์กฐ ๊ณต๋ถ€ ๋ฏธ๋ค„๋‘” ๊ฒƒ ํ•ด์•ผ ํ•˜๋Š”๋ฐ ์ด๋ฒˆ ์ฃผ ์ค‘์— ํ•ด๊ฒฐ ํ•ด์•ผ ํ•  ๊ฒƒ ๊ฐ™๋‹ค.

 

๐ŸŒˆ Tomorrow

- ๋น„๋™๊ธฐ ๋ณต์Šต 

- ํ† ์ด, ์ž๋ฃŒ๊ตฌ์กฐ ๋ฐ€๋ฆฐ ๊ฒƒ ์กฐ๊ธˆ์”ฉ ํ•˜๊ธฐ 

Comments