비동기 = 오래걸리는 B는 일단은 넘어가고 C를 실행시키고 추 후에 다시 B를 다음에 실행시키는 것임
ajax가 대표적인 비동기이다. 굉장히 많은데이터를 가지고있을 수 있다.
그래서 async와 await가 나왔다.
async는 ajax나 서버나 이런데 걸어놓고, 그리고 밑에 await를 써서, 기다렸다가 쓰라는 뜻이다.
console.log(1);
setTimeout(() => {
console.log(2);
}, 3000);
console.log(3);
여기서는, 우선 console.log 1이 실행되고, 3이 실행된다면 2가 실행이된다.
async와 await, useEffect(리액트) 최신문법.
그러면 왜 async와 await이 나왔을까?
옛날방법은 콜백함수를 걸면 해결 할 수 있다.
콜백지옥을 하면 가독성이 떨어진다.
그래서 async와 await이 나왔다.
var로 선언한 변수들은 맨 위로 올라가서, 호이스팅이 일어난다.
그러면 당연히 에러가 나겠지?
const나 let은 위로 안올라간다.
그래서 const,let을 써라