Riucc's Storage
RSS
태그
관리
쓰기
카테고리
  • IT (593)
    • 정리 (0)
    • C# (42)
    • ASP.NET MVC (16)
    • JQuery&Javascript (12)
    • CSS (11)
    • 데이터베이스 (32)
    • Windows Server (6)
    • Active Directory (3)
    • Exchange (9)
    • JAVA (2)
    • JSP (39)
    • JSP 게시판 만들기 (21)
    • JSP 개발 참고 (15)
    • JSP 안드로이드 (4)
    • Servlet (17)
    • Spring (42)
    • HTML (14)
    • NodeJS (46)
    • MongoDB (11)
    • 리눅스 (18)
    • 자료구조 (16)
    • 아이폰 (24)
    • 안드로이드 (68)
    • API 활용하기 (10)
    • 소켓네트워크 (28)
    • 라즈베리파이 (11)
    • AWS클라우드 (10)
    • 빅데이터Hadoop (22)
    • 커널모듈프로그래밍 (8)
    • 기타 (10)
    • 자격증 (26)
Riucc's Storage

[NodeJS] - 동기(Sync)와 비동기(Async)

NodeJS|2018. 10. 15. 14:09
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

○ 동기(Sync)와 비동기(Async)

 

var fs = require('fs');

// 'data1.txt : 두번째, data2.txt : 네번째' 라고 적혀있음


// 동기(Sync)

console.log("첫번째");

var data1 = fs.readFileSync('data1.txt', {encoding:'utf-8'});

console.log(data1);

console.log("세번째");

var data2 = fs.readFileSync('data2.txt', {encoding:'utf-8'});

console.log(data2);

console.log("다섯번째");


console.log("<br/>");


// 비동기(Async)

console.log("첫번째");

fs.readFile('data1.txt', {encoding:'utf-8'}, function(err, data1){

    console.log(data1);

});

console.log("세번째");

fs.readFile('data2.txt', {encoding:'utf-8'}, function(err, data2){

    console.log(data2);

});

console.log("다섯번째");



파일을 읽어 출력하는 예제를 통해서 동기(Sync)와 비동기(Async)를 설명해봅니다

결과를 보면, 비동기와 동기의 결과가 다릅니다


그렇다면 왜? 비동기를 사용해야할까요?


안드로이드에서도 API를 사용하여 데이터들을 불러올 때 비동기를 사용합니다

그 이유는 어플이 로딩되는데 동기로 데이터를 불러오면 

그 데이터를 불러올 때까지 로딩이 안되는 현상이 발생하기 때문이죠


웹사이트에서도 마찬가지입니다

비동기로 하지 않고 동기로 수많은 데이터를 불러오거나 참조할 시

그 데이터를 불러올 때까지 웹사이트는 멈춰있거나 로딩되지 못합니다


그렇기 때문에, 로딩은 로딩 따로 데이터 불러오는건 따로 처리하여

효율성을 높이는 것이지요! 그렇다고 너무 남발하는 것도 시스템 성능이 저하됩니다

이유는 여러 개를 비동기로 돌린뒤 완료되면 콜백함수(결과)가 실행되는 형태이기 때문이죠

그래서 잘 구분하고 잘 써야합니다!



저작자표시 (새창열림)

'NodeJS' 카테고리의 다른 글

[NodeJS] - Express, POST 방식을 이용한 form 데이터 전달  (0) 2018.10.15
[NodeJS] - Express, GET 방식을 이용한 form 데이터 전달  (0) 2018.10.15
[NodeJS] - Express 이용하여 웹앱 만들기(2) : ejs와 res.render() 사용  (0) 2018.10.15
[NodeJS] - Express 이용하여 웹앱 만들기(1) : res.send() 사용  (0) 2018.10.15
[NodeJS] - NPM으로 프로젝트에 모듈 설치하기(package.json)  (0) 2018.10.14

댓글()
카테고리
  • IT (593)
    • 정리 (0)
    • C# (42)
    • ASP.NET MVC (16)
    • JQuery&Javascript (12)
    • CSS (11)
    • 데이터베이스 (32)
    • Windows Server (6)
    • Active Directory (3)
    • Exchange (9)
    • JAVA (2)
    • JSP (39)
    • JSP 게시판 만들기 (21)
    • JSP 개발 참고 (15)
    • JSP 안드로이드 (4)
    • Servlet (17)
    • Spring (42)
    • HTML (14)
    • NodeJS (46)
    • MongoDB (11)
    • 리눅스 (18)
    • 자료구조 (16)
    • 아이폰 (24)
    • 안드로이드 (68)
    • API 활용하기 (10)
    • 소켓네트워크 (28)
    • 라즈베리파이 (11)
    • AWS클라우드 (10)
    • 빅데이터Hadoop (22)
    • 커널모듈프로그래밍 (8)
    • 기타 (10)
    • 자격증 (26)
최근 등록 현황
최근 글
최근 월별 글
최근 댓글
최근 글
최근 월별 글
최근 댓글
최근 글
최근 월별 글
최근 댓글
달력
지난달
2025.7
다음달
일월화수목금토
12345
6789101112
13141516171819
20212223242526
2728293031
태그 구름
  • 카카오 로그인
  • 정보처리산업기사 정리
  • 이클립스 mysql 연동
  • 소켓 프로그래밍
  • nodejs express
  • 정규화
  • 정보처리산업기사 16년
  • 정보처리산업기사 요약
  • 정보처리산업기사 15년
  • 정보처리산업기사 총정리
  • 카카오 로그인 연동
  • 자료구조
  • 안드로이드 카카오 로그인 연동
  • 안드로이드
  • 정규형
  • 정보처리산업기사 16년 필기
  • 안드로이드 카카오 로그인
  • HTML
  • 리눅스
  • 안드로이드 intent
  • nodejs MySQL 연동하기(Connection Pool)
  • 정보처리산업기사 15년 필기
  • 정보처리산업기사 필기 정리
  • 커널 모듈 프로그래밍
  • 데이터베이스
  • 정보처리산업기사 필기
  • 이클립스 디비 연동
  • jsp
  • 소켓
  • 정보처리기사 실기 정리
카운터
전체 방문자
오늘
어제
Skin by M1REACT. Designed by M1STORY.TISTORY.COM. Valid XHTML 1.0 and CSS 3. Copyright ⓒ Riucc's Storage. All rights reserved.

티스토리툴바