개발/Node
# [node] Call back 함수란 무엇인가?
ForrestPark
2025. 1. 8. 17:38
ℹ️ 참고
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 를 써서 대체 하는 것이 낫다.