22.6.12.
readFileSync
fs.readFileSync('읽고자하는 파일 이름','utf8')
var fs = require('fs'); console.log('A'); var result = fs.readFileSync('syntax/sample.txt','utf8'); console.log(result); console.log('C');
결과
A
B
C
순차적으로 결과 나옴
readFile
readFile('읽고자하는 파일 이름','utf8', callback)
console.log('A'); var result = fs.readFile('syntax/sample.txt','utf8', function(err,result){ /*함수의 첫번째 인자에는 에러가 있다면 에러를 제공하고, 두번째 인자에는 파일의 내용을 제공하도록 약속 */ console.log(result); //동작하다가 함수내 코드가 나중에 실행됨 }); console.log('C');
결과
A
C
B
function a(){ console.log('A'); } a();
실행결과 : A
var a = function(){
console.log('A');
}
a();
실행결과 : A
WHY?
a
뒤에 호출하는 기호(();
)를 넣음var a = function(){ //4. a()실행되면 console.log('A'); //5. A가 출력 } function slowfunc(callback) {//2. a를 callback으로 전달받음 callback(); //3. callback()을 실행, 즉, a();를 실행하는 것과 같음 } slowfunc(a); //1. slowfunc에서 a를 인자로 가져옴
실행결과 : A
코드과정
1. slowfunc에서 a를 인자로 가져옴
2. a를 callback으로 전달받음
3. callback()을 실행, 즉, a();를 실행하는 것과 같음
4. a()실행되면
5. A가 출력