ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 프로미스 문법
    WEB/JS 2019. 10. 8. 11:28

    프로미스 나인이 아니다 !

    이번엔 프로미스 문법에 대해서 araboja.

     

    자바스크립트 언어는 지난 포스트에서 말했던 것 처럼 싱글쓰레드 언어이다. 비동기 처리를 위해선 콜백을 이용했다. 

    콜백이 사용되는 경우가 많아지면서 비동기 처리를 중첩 시켜서 표현해서 에러, 예외처리가 어렵고 코드를 짜기의 복잡함이 증가하는 단점이 드러나기 시작했다.

     

    그래서 등장한것이 프로미스라고 한다.

     

     아래는 캡틴 판교님의 프로미스를 이해하기 위한 코드이다.

    설명이 잘 되어있어 이해하는데 도움이 많이 되었다.

    https://joshua1988.github.io/web-development/javascript/promise-for-beginners/

     

    new Promise(function(resolve, reject){
      setTimeout(function() {
        resolve(1);
      }, 2000);
    })
    .then(function(result) {
      console.log(result); // 1
      return result + 10;
    })
    .then(function(result) {
      console.log(result); // 11
      return result + 20;
    })
    .then(function(result) {
      console.log(result); // 31
    });

     

    ---------------------------------

    음~ 이해안되죠?

    원래 프로미스는 라이브러리로 존재했다. 그러다가 es6부터 정규 문법으로 편입되었음

    위 코드 설명을 잠깐 하자면,

    new로 프로미스를 선언했다. 그 이후 setTimeout 때문에 2.000초 뒤에 resolve가 호출된다.

    첫번째 then의 result에 1이 들어가고 두번째 result에 11 머 이런식으로 결국 31이 출력된다.

     

    그런데.. 실무적으로 어떻게 쓰일지는 감이 잘 안온다...

    node를 공부해보며 araboja.

     

     

    아마 주로 return new promise 이런식으로 많이들 쓰는 모양이다. 

    아니면 const 변수 = new Promise~ 이런식으로 쓰기도하고.

    err의 경우 .then보단 .catch 이렇게 처리해주고.

    암튼 그렇다.

    잘은 모르겠는데 감정도는 잡힌다.

     

     

    'WEB > JS' 카테고리의 다른 글

    곱하기 게임  (0) 2019.10.11
    Promise문법 +@  (0) 2019.10.10
    비동기와 콜백  (0) 2019.10.07
    rest 문법  (0) 2019.10.07
    비구조화 할당 (Destructuring)  (0) 2019.10.07

    댓글

YEE