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 |