프로미스는 자바스크립트 비동기 처리에 사용되는 객체이다.
자바스크립트에서 비동기 처리란 ?
특정 코드의 실행이 완료될 때까지 기다리지 않고 다음 코드를 먼저 수행하는 자바스크립트의 특성
프로미스 쓰고 또 콜백함수 사용...
then, then, then
체인처럼 내려가서
프로미스 체이닝이라고 한다.
주의점
비동기 처리 방식 중 하나이다.
문제점 : Callback hell 비동기 처리 로직을 위해 콜백 함수를 연속해서 사용할 때 발생하는 문제이다. 콜백안에 콜백을 계속 무는 형식으로 이러한 코드 구조는 가독성이 떨어지고 로직을 변경하기 어렵다.
const printString = (string, callback) => {
setTimeout(() => {
console.log(string)
callback()
},
Math.floor(Math.random() * 100) + 1
)
}
const printAll = () => {
printString("A", () => {
printString("B", () => {
printString("C", () => {})
})
})
}
printAll()
// A, B, C 순서로 출력