ABOUT

성능과 운영 안정성을 함께 끌어올리는 개발자입니다.

92% Positional Error Reduction
79% p95 Latency Improvement
90%+ Long Tasks Reduction

2022.02 · 한국장학재단

우수 멘티

한국장학재단 사회 리더 대학생 멘토링 IT

2022.10 · 동작구청

우수 인재상

동작구청 우수 SW 인재

2025.05 · (주) 그랩

프로그래밍 우수상

(주) 그랩 우수 프로그램 개발

2025.05 · AWSKRUG

AWS한국사용자모임 발표

AI agent 스크립트 튜닝 관련 발표

ComputerScience

Development

Engineering

Trouble Shooting

GUESTBOOK

첫 마음부터
함께 나누는 온기

방명록 작성하러 가기

SUBSCRIBE

최신소식을
편하게 만나보세요.

비동기 처리와 콜백 함수

비동기 처리? 

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

특정 로직의 실행이 끝날 때까지 기다려주지 않고 나머지 코드를 먼저 실행하는 것  

1. ajax (jquery)

서버에 데이터를 요청했을 때 응답의 때를 무작정 기다릴 수 없다. 

2. setTimeout()

Web API 한 종류로 코드를 바로 실행하지 않고 지정된 시간만큼 기다렸다가 로직을 실행

// #1
console.log('Hello');
// #2
setTimeout(function() {
console.log('Bye');
}, 3000);
// #3
console.log('Hello Again');

 

비동기 처리 문제 해결 법 !

1. 콜백 함수 

=> 식당 예약과 유사하다. 데이터가 준비된 시점에서만 원하는 동작(데이터 값 출력) 을 수행 

cf) 콜백 지옥 

비동기 처리 로직을 위해 콜백 함수를 연속적으로 사용했을 때 발생하는 문제입니다. 

ex) 서버에서 데이터를 받아 화면에 표시하기까지 인코딩, 사용자 인증 등을 처리하는 경우,

콜백안에 콜백 ==> 가독성이 떨어지고, 로직을 변경하기 어려움 

$.get('url', function(response) {
parseValue(response, function(id) {
auth(id, function(result) {
display(result, function(text) {
console.log(text);
});
});
});
});

해결 법 =>

1. Promise 사용

2. Async 사용 

3. 코드를 분리 

 

728x90