괜찮아 잘하고있어 힘내

28.2 Nodejs에서 동기와 비동기2 본문

웹 개발/Node.js

28.2 Nodejs에서 동기와 비동기2

코오올라 2020. 12. 20. 01:28

syntax 폴더에 sync.js와 sample.txt를 만들고 sample.txt 에는 문자 B를 입력하고 저장한다.

 

 

[readFileSync(동기적)를 실행해본다.]

1) fs 모듈을 불러와서 fs변수라는 이름을 붙였다.

 

6) 'syntax/sample.txt' -> 읽고자하는 파일의 이름/ 바깥쪽 nodejs에서 실행하기 때문에 syntax를 붙여줘야한다.

    'utf8' -> 넣어야 글씨를 사람이 읽을 수 있는 형태로 출력된다.

    결과를 result라는 변수에 담았다.

 

실행결과: 순차적으로 ABC를 출력했다.

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

 

[readFile(비동기)을 실행해본다.]

13) 3번째 인자로 function(함수)를 넣는다. 결과값을 result변수에 담으면 안된다.

     그 이유는 readFileSync는 리턴값을 주는데 readFile은 리턴값이 없지만 대신에 함수를 3번째 인자로 준다.

     result에 파일의 내용이 저장된다.

 

실행결과: A가 실행된다음 fs.readFile이 실행될것인데 그 결과를 가져오기 전에 바로 C가 실행이 되고, 

    fs.readFile은 자기대로 동작하고 있다가 작업이 끝나면 function(함수)가 호출되면서 함수 안에 있는 console.log가 나중에 실행된 것이다. 그래서 결과가 ACB 순으로 출력된것이다.

Comments