비동기 개념 정리

아데스티·2023년 1월 29일

개념 정리 시리즈

목록 보기
1/4

'비동기'가 뭔지 어떨 때 쓰는지 설명해 보세요

통신의 요청과 응답을 동기화시키지 않는 것, 즉 '같은 자리에서 일어나지 않는다'는 뜻 입니다.

요청과 응답의 시점을 분리할 필요가 있을 때 주로 사용됩니다. 응답이 오기 전에 요청을 막지 않아 '논블로킹'이라고도 합니다.
대표적으로는 setTimeoutPromise가 있습니다.

멀티 스레드를 지원하지 않는 Javascript는 런타임에 있는 Web API가 대신 계산하도록 함수와 인자를 같이 보내고 Event loop로 call stack이 비어있는 것이 확인 되었을 때 계산이 끝나 Task Queue에 저장된 리턴 값을 가져옵니다.

비동기 단점이나 일으킬 수 있는 문제

응답을 기다리지 않고 다음 작업을 진행할 수 있으므로 더 빠르게 많은 작업을 진행할 수 있지만,

응답을 받기 전과 후로 변수에 할당되는 데이터가 바뀔 수 있어 안전성이 떨어집니다.

그래서 promise는
전달되는 결과 값이 error인지 아닌 지에 따라 순차적으로 응답해 줄 것을 약속합니다.

비동기 통신을 동기적으로 처리하여 더 빠르고 보다 안정적으로 작업들을 처리할 수 있게 됩니다.

참고 자료
드림코딩 - JavaScript Mastery [인터넷 강의]
**[WEB] 🌐 비동기(Async)통신 / 동기(Sync)통신 정리**

profile
종착지이자 거점 A Destination

0개의 댓글