Node.js - 콜백함수

Jo-Jun_yeong·2024년 9월 5일

콜백 함수란?

콜백함수는 다른 함수에 인자로 전달되어, 특정 작업이 완료되었을 때 실행되는 함수이다.
주로 비동기 작업처리시 사용되고, 작업이 끝난 후 그 결과를 처리하거나 다음작업을 진행할 수 있게한다.
즉 전달된 인자로 작업처리 후 그 결과를 재사용할 수 있는 함수이다.

Node.js에서 콜백함수 예시

Node.js의 많은 API는 비동기적으로 설계되어 있고, 콜백함수를 사용하여 작업이 완료되면 호출된다.
이러한 비동기 함수는 보통 마지막인자로 콜백함수를 받는다.

흔히 사용되는 콜백 패턴

function(err, result){
	if(err){
		//에러처리    
	}else{
    	//결과처리
    }
}

파일 읽기

var fs = require('fs')
fs.readFile('example.txt','utf-8',function(err,data) {
	if(err){
    //에러 발생시
	console.log('Error 발생', err);
    return;
	} 
    console.log('File content:' data);
})
  • fs.readFile() 함수는 비동기적파일을 읽는다.
  • 파일 읽기가 완료되면('example.txt') 콜백함수(function(err,data){})가 호출된다.
    - 파일 읽는중 에러 발생시 에러가 err인자에 전달되고
    • 에러가없다면 data인자에 파일 내용이 전달된다.

http모듈을 사용한 서버에서의 콜백함수

  var http = require('http')
  //서버 생성
  var server = http.createServer(function(req,res){
      res.writeHead(200, {'content-Type':'text/pain'})
      res.write('Hello')
      res.end();
  })
  server.listen(3000, function(){
      console.log('서버가 실행되었습니다. http://localhost:3000');
  })
  • http.createServer()함수는 요청이 들어왔을 때 호출될 콜백 함수를 인자로 받는다.
  • 서버가 요청을 처리하고 응답을 완료하면 listen()함수는 서버를 싱행하고 콜백함수를 받는다.
profile
5_hero_like

0개의 댓글