동기와 비동기 정리

lovely·2023년 2월 5일
0

Docs + 공부하기🖥

목록 보기
3/6
post-custom-banner

A. 자바스크립트는 모든일을 순차적(동기적)으로 처리하는 싱글쓰레드(Single Thread)이다. 그래서 처리가 오래걸리는 일은 지양하는것이 좋다.

B. 자바스크립트는 wep apis를 사용해 비동기적인 처리를 할수 있다. wep apis는 setTimeOut(),Fetch()들이 있다.

처리 순서✔️
1. 콜스택에 차곡차곡 담겨진 함수들을 처리
2. wep apis와 함께 호출된 함수들이 테스크 큐에 담김
3. 콜스택에서 처리가 다 끝나면 이벤트 루프를 통해 테스크큐의 비동기 함수들이 콜스택에 한개씩 이동되어 처리됨

C. Promise

  • Promise는 .then / .catch / .finally 를 통해 핸들링한다.
  • 체이닝 가능
  • Promise를 사용할 때는 콜백함수를 인자로 받아
    new Promise(resolve,reject) 같은 형태로 사용한다.

D. Promise.staticFunction([function1,function2])

  • .all 모든 함수를 병렬적으로 처리하여 반환
  • .race 제일 빨리 처리되는 것을 반환
  • .allSettled 처리가 되어도, 안되어도 반환

E.async

  • 동기적으로 코드를 작성해도 비동기적으로 처리해줌
  • await은 함수가 끝날때를 기다렸다가 값을 할당해줌

F.JSON

  • request 할 때 / serializing, 오브젝트를 json으로 변환
    JSON.stringify()
  • response 될 때 / 역직렬화, json을 자바스크립트 객체로 변환
    JSON.parse()

G.fetch()

  • promise를 리턴
profile
the best FE (will be..)
post-custom-banner

0개의 댓글