callback 함수

hyun·2022년 6월 4일
0

용어정리

목록 보기
1/6
post-thumbnail

1. callback 이란?

  • 다른함수의 인자로써 이용되는 함수
  • 어떤 이벤트에 의해 호출되어지는 함수

1) 사용목적

비동기 방식으로 작성된 함수를 동기 처리 하기위해 주로 사용한다.
일부 구간에서 순차적인 처리가 필요할 때가 있기 때문

2) 잘못된 비동기 방식 예제

funtion buy(asset, price) {
    console.log("가격 : " + price);
    setTimeout(funtion(){
    	console.log("계산중...");
        let change = asset - price;
        return change;
    }, 1000);
}

funtion payDone(ch) {
	console.log("잔돈 : " + change);
}

var change = buy(15000, 10400);
payDone(change);

[ 결과 ]

가격 : 10400
잔돈 : undefined
계산중...

❗ setTimeout함수는 비동기방식
setTimeout함수는 1초뒤에 실행되는데
호출한 후 바로 다음 구문을 실행하기때문에
change변수에 값을 받지 못한 상태로 payDone함수가 실행됨.

3. 해결방법

1) callback

function buy(asset, price, callback) {
    console.log("가격 : " + price);
    setTimeout(funtion(){
    	console.log("계산중...");
        let change = asset - price;
        callback(change);
    }, 1000);
}

buy(15000, 10400, payDone);
// buy(15000, 10400, funtion(ch){
//	 console.log("잔돈 : " + ch);
// });

[ 결과 ]

가격 : 10400
계산중...
잔돈 : 4600




그 외에도 async&await, promise등을 사용할 수 있는데
이 부분은 callback hell에서 알아보자.
👋

profile
hello

0개의 댓글