Node.js

Node.js - 동기와 비동기 그리고 콜백

수업소개

Node.js에서 매우 중요한 특징인 비동기  처리 방식을 살펴봅니다. Node.js 실행순서를 파악하는 것이 목적입니다. 

 

 

 

동기와 비동기 1

강의

 

 

 

 

소스코드

 syntax/sample.txt

B

syntax/sync.js

var fs = require('fs');

/*
//readFileSync
console.log('A');
var result = fs.readFileSync('syntax/sample.txt', 'utf8');
console.log(result);
console.log('C');
*/


console.log('A');
fs.readFile('syntax/sample.txt', 'utf8', function(err, result){
    console.log(result);
});
console.log('C');

 

 

 

 

동기와 비동기 2

강의

 

 

 

callback

강의

 

 

 

소스코드

/*
function a(){
  console.log('A');
}
*/
var a = function(){
  console.log('A');
}


function slowfunc(callback){
  callback();
}

slowfunc(a);

 

댓글

댓글 본문
작성자
비밀번호
  1. 코베
    ㅋㅋㅋㅋㅋㅋㅋㅋ 잘 따라 가고 계시네욬ㅋ
    대화보기
    • karen
      카렌, 에델 웅 완료
    • 민트색마시멜로우
      제가 이고잉님은 아니지만 말씀드려봅니다. ㅎㅎ 아마 프로그램이 시간의 흐름에 따라 일이 진행된다고 하셨던 분의 의도는 아마도 프로그래밍이라는 개념을쉽게 설명하려 했던것일겁니다. 명령을 한 순서대로 되게한다는게 보통 사람들의 생각이잖아요?대부분의 사람이 생각하는 프로그램이란 순서대로 실행되는 프로그램이 많죠 수식을 넣으면 계산해주고, 화면을띄워주고 하지만 이런 프로그래밍 기법때문에 발생한 문제를 해결하기위한 것이 비동기적 프로그래밍 기법입니다. 요즈음은 그런 수식만을 푸는 것이아니라 영화정보도 불러오고 기다리고 영화 정보 출력하고 채팅도 하고 ...... 이런 다양한 일들을 하잖아요? 그래서 새로생긴 다양한 문제를 해결하기 위해 도입된것입니다. 물론 예상했던대로 흘러가지 않을 수도 있지만 이것또한 이고잉님의 말씀처럼 익숙해질것입니다. 또한 익숙해지면 더욱 편리하고 향상된 프로그램을 얻을 수있을 것입니다.


      참고해주세요 ㅎㅎㅎ
      대화보기
      • dlaruddnrsla@naver.com
        아아 꼭 A기능 다음 B C가 실행되어야 하는 경우에는 저런 비동기를 쓰면 문제가 생기겠지만
        순서에 상관없이 실행되도 되는 경우에는 비동기를 쓰면 프로그램 성능이 좋아지기때문에 쓰면 좋은거군요
      • dlaruddnrsla@naver.com
        항상 훌륭한 강의 감사합니다 ㅎㅎ
        동기와 비동기 강의를 듣고 궁금한게 생겨서 여쭙니다.
        프로그램이란 시간의 순서에 따라서 일이 진행되는 것이라고 배웠습니다.
        그런데 비동기를 써버리면 위 강의의 예제처럼 ABC가 되지않고 ACB가 되어 자신이 예상하던 흐름대로 프로그램이 흘러가지 않을수도 있다고 생각이 드는데 비동기를 써도 문제가 없는건가요?
      • 삼고잉
        이전 강의의 질문이 여기서 해결된거같습니다 ㅠ
      • 비전공계발자
        보긴 봤어요 버튼 정말 있었으면 좋겠어요ㅋㅋ
        대화보기
        • cadenzah
          아주 단순하고 명쾌한 설명입니다. 잘 듣고 가요.
        • metallsk
          논리적 사고의 유연성을 길러야 되는건가요ㅋㅋㅋ 조금 어렵지만 재미있네요.
        • Gimme_Gsuit
          감사합니다.
        • 내일
          이거 '보긴 봤어요' 버튼이 하나 더 있어야 하는 강의를 본 것 같네요..

          보긴 헀는데 봤다기엔 머리에 남은게..... 시간 나면 여기로 다시 돌아와서 봐야곘네요...

          늘 좋은 강의 잘 듣고 갑니다.
        • 감사합니다.
        • 헬리사우드
          지금까지 콜백에 노출당해와서그런지 한번에 이해가 되기는 하네요.
          인자로 함수를 정의해서 함수 안에 정의하여 실행하는 효과를 내는게 콜백함수였군요!
        • Seo Yun Seok Tudoistube
          showfunc 라고 따라 하는건 수업을 잘 따라가고 있는걸까요? 저는 생각을 안하고 따라하는걸까요?
          감사합니다^^
        버전 관리
        egoing
        현재 버전
        선택 버전
        graphittie 자세히 보기