[react] react를 위한 js ③- Async, Callback 본문

Web/React

[react] react를 위한 js ③- Async, Callback

미니모아 2020. 4. 12. 12:43
반응형
  1. 비동기성
    실행 결과를 순서대로 처리하지 않음

         setTimeout(()=> {console.log("안녕하세요")},2000);
          console.log("안녕히 가세요");

    -> 안녕세요가 먼저 나온다. 2초 기다리지 않음.

    리액트가 비동기성이 필요한 이유는 리액트가 다음과 같은 특성을 갖기 때문

    1. 인터넷 속도 의존
    2. 유저 인터랙션

    속도가 느려도 인터랙션은 되어야 한다.
    하지만 결과 순서가 뒤죽 박죽임. 이를 해결하기 위한 게 바로

    • 콜백
      결과가 끝난 후 호출되는 함수

          function sayHello(name,byeCallback){
          setTimeout(()=>{
              console.log(name+" 안녕하세요.")
              byeCallback()
              },2000);
          }
          sayHello("Mike",()=>console.log("안녕히가세요."))
          /* 실행결과
          Mike 안녕하세요.
          안녕히가세요.*/

하지만 callback은 가독성이 좋지 않음. 그래서 이를 해결하기 위해서 완료를 약속하는 promise가 나옴
(다음 글에서 나옴)

반응형
Comments