# [node] Call back 함수란 무엇인가?

2025. 1. 8. 17:38개발/Node


ℹ️ 참고

1.🌐 Velog, 2022, Callback함수란?? 뭔데??


🤔콜백 함수란?

콜백 함수(주방)메인함수(고객)가 원하는 시점에 고차함수(웨이터)가 호출(주문) 되면 고차함수가 원하는 동작을 위임 받아 실행(요리)해주는 함수 이다.


목적 🫡 가독성이나 코드 재사용, 비동기 방식 함수를 동기처리하기위해 사용
특징 ⭐️ 함수를 만들때 parameter 를 함수로 받아서 쓸수 있다.
그때 파라미터가 되는 함수를 callback 함수라고 한다.
***

💁‍♂️ 코드 예시

function func(callback){
    callback();
}
// 앞에서 먼저 함수를 만들고 뒤에 함수를 정의 해버림.! 
function callback(){
    console.log("call back 입니다.")
}
func(callback);

function introduce (lastName, firstName, callback){
    var fullName = lastName +firstName;
    callback(fullName);
}

introduce("홍","길동", function(name){
    console.log(name);
})
// introduce 실행하면 callback 자리를 새로운 함수 function(name) 으로 지정해주면서 
// introduce 함수안에서 callback(fullname)으로 실행되는 함수가 됨. 

function findUserAndCallBack(id,cb){
    const user = {
        id: id,
        name : "User"+id,
        email : id + "@test.com",
    };
    cb(user)
}
// 실제로 함수를 실행하는 단계에서 콜백함수를 정의해버림. 
findUserAndCallBack(1,function(user){
    console.log("user: ", user)
})
// call back 은 지옥이다.. promise 나 async, await 를 써서 대체 하는 것이 낫다.