TIL_synchronous&asynchronous

YoonJu Lee·2021년 7월 13일
0

항해99_TIL

목록 보기
1/17

1. asynchronus

  • 비동기적 처리 : 병렬적으로 동시의 여러 일을 처리한다
  • 이점 : 시간의 효율성
  • 단점 : 매우 복잡함. 그래서 Nodejs로 작업하는 것이 초심자들에게는 까다로운 작업 일 수 있음.

2. synchrounus

  • 동기적 처리 : 한 작업이 끝나야 다음 작업으로 넘어가는 직력적 작업 수행.

*cf_ doc 찾기

nodejs 싸이트 > 문서 > 나의 nodejs 버전(API) > filesystem > fs.readfile

을 보면,
fs.readfilesync 와, fs.readfile 두개가 존재한다.
이렇게 문서를 찾아보며 원하는 API를 그 때마다 사용하자.

(나는 찾아보지 않으려는 습성이 있다.
WHY?
를 질문해보니...
무슨 키워드로 찾을지를 모르겠더라..
이건,
googled로 원하는 것의 keyword찾기 >
해당 keyword를 알아냄>
nodejs 문서로 가서 직접 사용법을 봐보자.

이건 시간 아까운 게 아니라 실력이 늘기위한 필수조건임을 항상 명시하자.
내가 싫어하는 것을 자꾸 하자.
그래서 싫어한는 것을 잘하는 것으로.. 습관으로 바꿔보자.

3. Code 비교

1. readFileSync

console.log('A');
var result = fs.readFileSync('syntax/sample.txt', 'utf-8');
console.log(result);
console.log('B');

출력물

2. readFile

readFile
뒤에 sync가 붙어있지 않다; default> readFile 이다.
따라서, Nodejs는 비동기 실행을 선호한다.라는 뜻

fs.readFile('syntax/sample.txt', 'utf-8', (err, result) => {
  console.log(result);

});
console.log('C');

출력물

/
1) readFileSync 는 return 값이 있다 ( 따라서, result 변수에 할당 가능)
2) readFile 은 return 값이 없다 ==> 대신, 콜백 함수를 3번째 인자로 줘야한다.
(err, result) ; 에러가 있다면, err 인자에 실패정보를 공급 /
파일을 읽는 작업 끝 ==> 3번째 인자인 함수를 실행하고,
파일을 가져오는 작업이 성공했따면, result에 파일의 내용을 인자로써 공급
/

profile
Coder가 아닌 Engineer를 향해서.

0개의 댓글