개발공부/자바스크립트

[JavaScript] 비동기 작업 & Callback, Promise, Async await

햄❤️ 2021. 6. 2. 22:38
728x90

서버의 API를 사용해야 할 때는 네트워크 송수신 과정에서 시간이 걸리기 때문에 작업이 즉시 처리되는 것이 아니라, 응답을 받을 때까지 기다렸다가 전달받은 응답 데이터를 처리한다. 이 과정에서 해당 작업을 비동기적으로 처리한다.

만약 작업을 동기적으로 처리한다면 요청이 끝날 때까지 기다리는 동안 중지 상태가 되기 때문에 다른 작업을 할 수 없다. 요청이 끝나야 비로소 그 다음 예정된 작업을 한다. 하지만 이것을 비동기적으로 처리한다면 웹애플리케이션이 멈추지 않기 때문에 동시에 여러가지 요청을 처리하고, 기다리는 과정에서 다른 함수도 호출할 수 있다.

자바스크립트는 동기적이다. 호이스팅 이후에는 코드가 나타나는 순서대로 실행된다. 

1. 콜백함수

함수를 인자로 등록하여 불러 달라고 하는 것
즉시 부를 수도(동기), 특정 시점 또는 조건에 부를 수 있음(비동기)

콜백지옥
 - 여러번 중복되어 가독성 떨어짐, 오류처리 어려움 -> 지양할 것

콜백지옥(드림코딩 엘리) 유튜브

 

작성중 

728x90