동기/비동기, 그리고 Promise

NANA·2023년 2월 3일
0

어딜가나 동기가 문제다.

  1. 입사할 때 지원 동기 쓰기 귀찮음.. 돈 벌려고요~ㅜ
  2. 입사했는데 입사 동기 없어서 외로움.. 회사 상사 욕 누구한테 하노..
  3. js 개발 시 비동기 처리할 때마다 데이터 제대로 안나와서 난리남;;

ㅎㅎ 개발자 유머~

예전에 동기/비동기 한 번 정리했던거 같은데 매번 새로움ㅎ 모오때용 또 정리하면 되지..

출처 : https://ljtaek2.tistory.com/142

동기/비동기

  • 동기 : 프로그램 수행이 순차적.. 현재 코드 실행이 완료돼야 다음 코드가 실행됨. 시간 순서가 있다.
  • 비동기 : 프로그램 수행이 순차적이지 않고 이벤트 발생시마다 그때그때 수행하는 방식..

JS는 동기식 언어다.

멍청한 js는 한 번에 하나의 작업만 수행한다. 멀티가.. 안된다 이거야..? 이거 완전 나 아니냐..
동기는 싱글 스레드라고 일단 기억해두자..

js의 callStack이라는 곳에 호출 하나가 쌓이고, 그게 결과를 돌려줘야 다음 호출이 처리되는.. 그런건가봐..

브라우저는 js 엔진만으로 동작하지 않고 DOM이나 AJAX 같은 비동기 처리 API를 제공하기 때문에 우리가 속터지지 않고 웹 서핑을 하는 것~!

Promise

js가 비동기 작업을 처리할 시.. 그 처리가 성공적일 수도 있고 아닐 수도 있다.

Promise는 비동기 메서드에서 어떤 상태가 돌아올지 모르니까 가능한 상태에 대해 '뫄뫄한 결과가 돌아올 시 어쩌구저쩌구하게 처리하겠습니다~!' 하는 약속을 담은 객체라 하겠다.

Promise의 세 가지 상태

  • 대기 : 이행하지도, 거부하지도 않은 초기 상태
  • 이행 : 연산이 성공적으로 완료됨. 지금 내가 하는 개발은 주로 이행이 되었고 멀쩡한 데이터가 서버로부터 도착했을때 이후의 로직을 만드는 것.
  • 거부 : 연산이 실패함.
profile
일단 나만 알아보면 된다는 마음으로, 작더라도 꾸준히

0개의 댓글