본문 바로가기

Backend Study/Node.js

call back 함수

call back 함수란?
비동기 프로그래밍 방식으로 코드를 만들 때 함수를 파라미터로 만들어 전달한다.

예를들어 더하기 함수를 실행한 후 결과 값이 반환되기를 기다리지 않고 다음 코드를 실행하려고 할 때 콜백 함수를 사용한다.

그리고 연산이 끝났을 때 파라미터로 전달한 함수가 실행될 수 있다면 효율적이다. 이 때 파라미터로 전달되는 함수를 콜백 함수라고한다.

 

function getData(){
	let tableData;
	$.get('https://hi.com', function (response){
    	tableData=response;
    });
    return tableData;
    
}
console.log(getData());

 

➡️ $.get()을 사용해 지정된 URL에 데이터를 보내주세요라고 요청하고, 그 데이터를 리턴해야 하는데, 결과는 undefined 이다. 그 이유는 데이터를 받아올때까지 기다리지 않고, 비동기적으로 console.log(getData())를 먼저 처리해버렸기 때문이다. 

 

✅ 해결방법 - callback 함수 사용

function getData(callbackFunc){
	$.get('https://hi',function (response){
    	callbackFunc(response);
    });
   }
 
 getData(function(tableData)){
 	console.log(tableData);
 }

 

➡️정상적으로 처리됨.

 

횔용 

function getAllMemos(callback){
    connection.query(`SELECT * FROM MEMOS ORDER BY ID DESC`, (err, rows, fields) => {
        if(err) throw err;
        callback(rows);
    });
}

➡️ 만약 콜백함수로 처리하지 않으면 데이터가 불러오기전에 함수가 실행되어  undefined가 출력될 수 있다.


참고) https://dalkomit.tistory.com/65

https://velog.io/@woohyun_park/node.js-Callback-Function

'Backend Study > Node.js' 카테고리의 다른 글

multer로 파일 업로드하기  (0) 2022.08.24
Node.js 내장 모듈 사용하기  (0) 2022.08.04
Node.js Process  (0) 2022.08.04
Node.js 모듈 이용하기  (0) 2022.08.04
Node.js 설치하기  (0) 2022.08.03