콜백함수란 함수의 인자로 들어가는 함수이다.
function aaa(qqq){
// 함수 로직
}
aaa(function(){})
이러한 콜백함수는 특정한 API 요청이 끝난 뒤, 그 결과 값을 가지고 다른 요청을 실행시켜야 할때 callback 함수를 사용해서 요청을 실행할 수 있다.
async/await나 promise 문법이 존재하기 전에 callback 함수를 이용했다.
function aaa(qqq){
// 외부 API에 데이터 요청하는 로직
// ...
// ...
// 요청 끝!
const result = "요청으로 받아온 데이터 결과값"
qqq(result) // 요청 끝나면 qqq 실행시키기
}
aaa(result) => {
console.log("요청이 끝났습니다.")
console.log("요청으로 받아온 데이터는" + result + "입니다")
}
요청이 반복될수록 대각선으로 파이는 형태가 된다. API요청이 중첩될수록 심하게 파여 가독성이 떨어지게 된다.
이러한 콜백지옥 현상을 막기위해 나온 것이 Promise이다.
promise란 자바스크립트의 비동기 처리
, 외부에서 많은 양의 데이터를 불러오는 작업에 사용되는 객체입이다.
이런 promise 객체를 이용해서 만든 라이브러리가 axios이다.
axios.get() 위에 마우스를 올려보면 요청에 대한 반환 값이 **Promise**
로 들어온다.