Promise 등장 배경 자바스크립트에서 비동기 처리를 위해서 전통적으로 콜백 함수를 사용하였다. 함수 내부에서 함수 호출을 통해 비동기 작업의 결과를 받아서 인자로 주면 이를 이용해 후속 처리 작업을 수행하는 것이다. 콜백 함수는 중첩될 수록 가독성이 떨어지고 코드의 흐름을 파악하기 어려워진다는 문제가 있는데 특히 여러 개의 비동기 작업을 수행해야 할 때는 이른바 콜백 지옥(callback hell) 현상이 발생하게 된다. function increaseAndPrint(n, callback) { setTimeout(() => { const increased = n + 1; console.log(increased); if (callback) { callback(increased); // 콜백함수 호출 }..
동기와 비동기 의미 동기는 하나의 요청이 오면 완료가 되어야 다음 요청을 실행하는 순차적 방식으로 흐름을 쉽게 예측할 수 있고 비동기는 어떤 요청이 완료되기 전에 다음 요청을 실행하는 동시적 방식으로 여러 작업을 동시에 효율적으로 처리할 수 있다. 콜백 함수 콜백 함수의 사용 목적 비동기 방식으로 작성된 함수를 동기 처리하기 위해 주로 사용된다. 비동기 처리를 기본으로 하면서 일부 순차적인 처리를 해야될 때가 있기 때문이다. 콜백 함수 형태 function main(param1, param2, callbackFunc) { // ... 처리 내용 callbackFunc(); } main(1, 2, func()); 보통 함수를 선언한 뒤 함수 타입 파라미터를 맨 마지막에 하나 더 선언해주는 방식으로 정의한다..
- Total
- Today
- Yesterday
- 해시맵
- 자바dp
- 백준
- JavaScript
- Nest
- SQLD
- BFS
- Spring
- 자바bfs
- Comparator
- 이분탐색
- 자바
- SQL
- DP
- java
- JPA
- dfs
- CS
- 스프링
- Algorithm
- 프로그래머스
- Queue
- 정렬
- 스프링부트
- 타입스크립트
- 형변환
- 알고리즘
- 자바트리
- 리액트
- 자바스크립트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |