위챗 애플릿 Node.js(베이스 7) Stream(스트림)
Stream은 추상적인 인터페이스로 노드의 많은 대상이 이 인터페이스를 실현했다.
Stream에는 다음과 같은 네 가지 스트림 유형이 있습니다.
- Readable - 읽을 수 있는 작업입니다.- Writable - 쓰기 가능 작업입니다.- Duplex - 읽기 및 쓰기 가능.- Transform - 작업이 데이터를 쓰고 결과를 읽습니다.- Stream 객체는 모두 Event Emitter의 인스턴스입니다.자주 사용하는 이벤트는 다음과 같습니다: 데이터 - 읽을 수 있는 데이터가 있을 때 터치합니다.- end - 읽을 수 있는 데이터가 더 없을 때 트리거합니다.- error - 수신 및 쓰기 중 오류가 발생했을 때 트리거합니다.-finish - 모든 데이터가 레이어 시스템에 기록되었을 때 트리거합니다.
읽다
var fs = require("fs")
var data= ""
var readerStreama = fs.createReadStream("input.txt")
readerStreama.setEncoding('UTF8')
readerStreama.on("data",function(chunk){
data+= chunk;
})
readerStreama.on("end",function(){
console.log(data);
})
readerStreama.on("error",function(err){
console.log(err.stack)
})
console.log(" ")
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
쓰기
var fs = require("fs");
var data = 'www.csdn.net';
// , output.txt
var writerStream = fs.createWriteStream('output.txt');
// utf8
writerStream.write(data,'UTF8');
//
writerStream.end();
// --> data, end, and error
writerStream.on('finish', function() {
console.log(" 。");
});
writerStream.on('error', function(err){
console.log(err.stack);
});
console.log(" ");
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
파이프라인 스트림
var fs = require("fs");
//
var readerStream = fs.createReadStream('input.txt');
//
var writerStream = fs.createWriteStream('output.txt');
//
// input.txt , output.txt
readerStream.pipe(writerStream);
console.log(" ");
1
2
3
4
5
6
7
8
9
10
11
12
13
1
2
3
4
5
6
7
8
9
10
11
12
13
체인 스트림
체인식은 출력을 연결하여 다른 흐름으로 흐르게 하고 여러 개의 흐름 조작 체인을 만드는 메커니즘이다.체인식 흐름은 일반적으로 파이프 조작에 쓰인다.
압축
var fs = require("fs");
var zlib = require('zlib');
// input.txt input.txt.gz
fs.createReadStream('input.txt')
.pipe(zlib.createGzip())
.pipe(fs.createWriteStream('input.txt.gz'));
console.log(" 。");
1
2
3
4
5
6
7
8
9
1
2
3
4
5
6
7
8
9
압축 풀기
var fs = require("fs");
var zlib = require('zlib');
// input.txt.gz input.txt
fs.createReadStream('input.txt.gz')
.pipe(zlib.createGunzip())
.pipe(fs.createWriteStream('input.txt'));
console.log(" 。");
1
2
3
4
5
6
7
8
9
1
2
3
4
5
6
7
8
9
위챗 애플릿 Node.js(기초8)exports 모듈 시스템
하나의 Node.js 파일은 모듈입니다. 이 파일은 자바스크립트 코드, JSON, 컴파일된 C/C++ 확장자일 수 있습니다.
// main.js
var hello = require("./hello")
hello.sayHi()
1
2
3
1
2
3
// hello.js
exports.sayHi = function(){
console.log("Hello World")
}
1
2
3
4
1
2
3
4
//모듈에 객체 캡슐화
function sayHi(){
this.hi = function(){
console.log("Hello World")
}
}
module.exports = sayHi
1
2
3
4
5
6
1
2
3
4
5
6
var Hello = require("./hello")
var hello = new Hello()
hello.hi()
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
위챗 애플릿 Node.js(베이스 7) Stream(스트림)위챗 애플릿 Node.js(Basic 7) Stream(스트림) 세부 개발 자습서: Stream은 추상적인 인터페이스로 노드의 많은 대상이 이 인터페이스를 실현했다. Stream에는 다음과 같은 네 가지 스트림 유형...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.