비동기 메서드들은 백그라운드에 해당 파일을 읽으라고만 요청하고 다음 작업으로 넘어감 따라서 파일 읽기 요청만 세번 보내고 console.log('끝')을 찍음 나중에 읽기가 완료되면 백그라운드가 다시 메인 스레드에 알림을 주고 이때 콜백 함수를 실행
동기와 비동기, 블로킹과 논블로킹 노드에서는 비동기와 동기, 블로킹과 논블로킹이라는 네 용어가 혼용됨
동기와 비동기 : 함수가 바로 return 되는지 여부
블로킹과 논 블로킹 : 백그라운드 작업 완료 여부 노드에서는 동기-블로킹 방식과 비동기-논블로킹 방식이 대부분
1 2 3 4 5 6 7 8 9 10 11
// sync.js const fs = require('fs');
console.log('시작'); let data = fs.readFileSync('./readme.txt'); console.log('1번', data.toString()); data = fs.readFileSync('./readme.txt'); console.log('2번', data.toString()); data = fs.readFileSync('./readme.txt'); console.log('3번', data.toString()); console.log('끝');