You will be fine

<Node.js> 2. Event

by BFine
반응형

1.EventEmitter



-EventEmitter 객체를 상속 받아야 이벤트 연결을 할 수 있다.


function Sum(a,b){

var s=a+b;

this.on("sum", function() {         // on : 이벤트 연결 etc) once(): 한번만 연결

console.log("sum ="+s);                                

});

}


require("util").inherits(Sum,require("events").EventEmitter); //util inherits(상속) 을 위한 내부 모듈, events EventEmitter 릉 위한 외부 모듈

                                                                           =var util= require("util"); var eventEmitter =require("events").EventEmitter; 사용가능


var su=new Sum(3,4);


su.emit("sum"); // emit: 이벤트 전달 etc) removeListener(): 이벤트 연결 해제 

 





실행







2.Asynchronous I/O


   -실행하고 그 기간동안 기다리지 않고 다른 작업을 진행 readFile, writeFile


 var fs=require("fs");


// 비동기 읽기 쓰기

fs.readFile("test.txt","utf-8", function(err, data) {

console.log(data);

//console.log(err); // err 메세지 출력

});



fs.writeFile("text2.txt","Hello Asyn",function(err){

console.log(err);

});


console.log("I'm the first!"); // 가장 먼저 출력된다 -> file과 실행과 관련없이 독립적





실행


  파일이 없을 경우 err 출력


 






3.Synchronous I/O


   - I/O 실행이 끝날 때 까지 기다렸다가 다른 작업을 진행 readFileSync, writeFileSync

 

      var fs=require("fs");


// 동기 읽기 쓰기

var buff=fs.readFileSync("test.txt","utf-8");

console.log(buff);


fs.writeFileSync("text4.txt","Hello Syn");

console.log("I'm the first!");

       



실행


   






4. Url, Querystring


var url= require("url");


var par=url.parse("https://search.naver.com/search.naver?we"); //문자열을 url 객체로 변환 , 긴 주소를 부분 별로 


var formaa=url.format(par); //url 객체를 문자열로 변환


console.log(par);

console.log();

console.log(formaa);


var querystring=require("querystring"); // querystring 쿼리를 문자열로 변환

var trans=querystring.parse(par.query); // query 부분별로 분할

console.log();

console.log(trans);

console.log();

console.log(trans.ie);



실행






※ 다시 쿼리를 문자열로 바꾸는 Method는 querystring.srtingty(쿼리 저장한 변수명)





반응형

'공부(2018~2019) - 스킨변경전 > Node.js' 카테고리의 다른 글

<Node.js> 3. Server  (0) 2018.04.03
<Node.js> 1. Module  (0) 2018.04.03
<Node.js> 0. Basic  (0) 2018.04.02

블로그의 정보

57개월 BackEnd

BFine

활동하기