<Node.js> 2. Event
by BFine1.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