본문 바로가기

Programming Language/Javascript

[JS] 비동기 처리와 콜백 함수

728x90

비동기 처리란?

특정 코드의 연산이 끝날 때까지 코드의 실행을 멈추지 않고 다음 코드를 먼저 실행하는 자바스크립트의 특성을 의미

 

자바스크립트에서 비동기 처리가 필요한 이유는 화면에서 서버로 데이터를 요청했을 때 서버가 언제 그 요청에 대한 응답을 줄지도 모르는데 마냥 다른 코드를 실행 안 하고 기다릴 순 없기 때문이다

 

콜백(callback) 함수로 비동기 처리 방식의 문제점 해결하기

콜백 함수를 사용하면 특정 로직이 끝났을 때, 데이터가 준비된 시점에서만 원하는 동작을 실행시킬 수 있다

 

콜백 지옥 (Callback hell)

웹 서비스를 개발하다 보면 서버에서 데이터를 받아와 화면에 표시하기까지 인코딩, 사용자 인증 등을 처리해야 하는 경우가 있습니다. 만약 이 모든 과정을 비동기로 처리해야 한다고 하면 위와 같이 콜백 안에 콜백을 계속 무는 형식으로 코딩을 하게 됩니다. 이러한 코드 구조는 가독성도 떨어지고 로직을 변경하기도 어렵습니다. 이와 같은 코드 구조를 콜백 지옥이라고 합니다.

1) Promise나 Async를 사용하는 방법

2) 콜백 함수의 분리

 

반응형