생활코딩/node.js

동기와 비동기 그리고 콜백

7he8oy 2020. 12. 31. 17:01

1. 동기 vs 비동기

1) 동기는 순차적으로 일처리

 

var fs = require('fs')

console.log('a');
var result = fs.readFileSync('./syntax/b.txt','utf8');
console.log(result);
console.log('c');

위의 코드 결과 값은 a,b,c 순으로 출력될 것이다.

readFileSync에 의해 해당 코드들이 순차적으로 처리되기 때문임.

 

 

2) 비동기는 병렬적으로 일처리

var fs = require('fs')

console.log('a')
fs.readFile('./syntax/b.txt','utf8', function(err,data){
  console.log(data);
});
console.log('c')

위 코드의 결과 값은 a,c,b 순으로 출력될 것이다.

readFile은 console.log를 통해 그대로 출력되는 것보다 더 많은 프로세스를 거치기 때문에 더 나중에 출력되는 것처럼 보인다. 

 

 

2. 콜백(callback)

콜백에 대해서 아직은 정확하게 ㅇ그 개념을 이해하지 못했다. 

구글링을 해봐도 아직 잘안된다.

function a(){
	console.log('A');
}
a();



var a = function(){
	console.log('A')
}
a();


//위 두개는 정확하게 같은 값을 낸다.

--------------------------------------

var a = function(){
  console.log('a');
}


function slowfunc(callback){
  callback();
}

slowfunc(a);

이것은 콜백을 설명하면서 생활코딩에서 보여준 코드다.

아마 함수 속에 함수를 집어넣어서 그 순서대로 함수들을 실행시키려는게 목적인건가?

일단은 넘어가도록 해야겠다.

 

'생활코딩 > node.js' 카테고리의 다른 글

홈페이지 완성  (0) 2021.01.02
node.js를 이용하여 홈페이지 만들기. 중간정리 및 코드  (0) 2020.12.31
동적으로 웹사이트 다루기!  (0) 2020.12.30
URL의 이해  (0) 2020.12.30
Node.js 설치 및 문법  (0) 2020.12.29