callback

이재홍·2022년 6월 20일
0

Basic JS

목록 보기
13/18
post-thumbnail

Callback 이란?

콜백 함수란? 어떤 이벤트가 발생한 후에 수행될 함수를 의미한다.
다른 함수의 매개변수로 함수를 전달하고, 어떠한 이벤트가 발생한 후 매개변수로 전달한 함수가 다시 호출되는 것!

1급 객체인 함수는 인자 전달시 함수를 전달할 수 있어 콜백함수가 가능하다!

원하는 시점에 작업수행이 일어나도록 만듬, 함수의 매개변수로 함수를 사용하는 혐태 = Call back pattern

function abc(a,b,callback){
	let v=a+b;
	callback(v);
}

abc(1,2,function(v){
console.log(v); //2
})


`abc` 함수를 호출할 때 함수(v)를 매개변수로 넘겨준다.
`abc` 함수에서는 그 함수(v)를 callback 이라는 매개변수로 받는다.
`abc` 가 실행되면 a+b를 더한 값을 callback 함수의 매개변수로 넣어준다
callback 실행되서 console.log에 찍히게 된다.

>콜백을 쓰는이유: 함수의 과정이 끝나기 전에 다음 프로세스가 진행되는 것을 막기위해서

# 콜백지옥

```jsx
function add(x, callback){
    let sum = x + x;
    console.log(sum);
    callback(sum);
}

add(3, function(result){
    add(result, function(result2){
        add(result2, function(result3){
            add(result3, function(result4){
                console.log("콜백 지옥")
            })
        })
    })
})

콜백함수를 남용하게 되면 콜백지옥에 빠질 수 있다.
콜백함수를 남용하면 코드가 점점 산처럼 쌓여가는 것을 경험할 수 있다.
이러한 코드는 가독성이 떨어지고 유지보수가 어렵다!

0개의 댓글