Node.jsの流れ

(要求は、リスナーを定義することができる理由のhttpは最終的に知っているここを参照してください)
Node.jsの流れ(ストリーム)
ストリームは、このインタフェースを実装する多くのオブジェクトがありますが、ノードの抽象インタフェースです。例えば、HTTPサーバへのリクエストを開始したオブジェクトを要求すると、STDOUT(標準出力)、ならびに、ストリームです。

Node.jsの、ストリームフローは、4つのタイプがあります。

読める - 読み取り操作。

書き込み可能 - 書き込み操作。

二重 - 読み取りおよび書き込み操作。

変換 - 操作は、データを書き込み、その結果を読み出すことです。

すべてのStreamオブジェクトを持つEventEmitterのインスタンスです。一般的なイベントは次のとおりです。

データ - データが時にトリガを読み込まれます。

エンド - それ以上のデータはトリガーを読んでいないがあります。

エラー - エラーが受信し、書面で発生したときにトリガ。

仕上げは - すべてのデータが基礎となるシステムに書き込まれたときにトリガーされます。

このチュートリアルでは、すべての人のための一般的な流れ作業を紹介します。

読みます

1 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
FS = VAR( "FS")を必要とします。
VARデータ= '初心者チュートリアルの公式ウェブサイトのアドレス:www.runoob.com';

//書き込むことができるストリームを作成し、ドキュメントのoutput.txtに書かれている。
ヴァールwriterStream = fs.createWriteStream(「output.txtと」 );

// UTF8エンコード使用して、書き込みデータ
writerStream.write(データを'UTF8') ;

//ドキュメントの末尾にマーク
writerStream.endを();

//プロセスストリームイベント- >データ、終了、およびエラー
writerStream.on( '完了'、関数(){
にconsole.log() "書き込み完了";
});

writerStream.on( 'エラー'、関数(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
FS = VAR( "FS")を必要とします。
VARデータ= '初心者チュートリアルの公式ウェブサイトのアドレス:www.runoob.com';

//書き込むことができるストリームを作成し、ドキュメントのoutput.txtに書かれている。
ヴァールwriterStream = fs.createWriteStream(「output.txtと」 );

// UTF8エンコード使用して、書き込みデータ
writerStream.write(データを'UTF8') ;

//ドキュメントの末尾にマーク
writerStream.endを();

//プロセスストリームイベント- >データ、終了、およびエラー
writerStream.on( '完了'、機能(){
はconsole.log();グレート列"の書き込みが完了しました。"   のNode.jsストリーム AN>
});

writerStream.on( 'エラー'、関数(ERR){
にconsole.log(err.stack);
});

console.log(「プロセスを終了しました」)。

パイプラインの流れ

1 
2
3
4
5
6
7
8
9
10
11
12
13
VaRのFS =( "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
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
链式流
链式是通过连接输出流到另外一个流并创建多个流操作链的机制。链式流一般用于管道操作。

接下来我们就是用管道和链式来压缩和解压文档。

创建 compress.js 文档, 代码如下:

var fs = require("fs");
var zlib = require('zlib');

// input.txt.gz文書INPUT.TXT圧縮
fs.createReadStream( 'INPUT.TXT')
.pipe(zlib.createGzip())
.pipe(fs.createWriteStream( 'input.txt.gz')); コンソール.logの(「文書圧縮が完了した」); 次のようにコードが実行される結果は次のとおりです。




$ノードcompress.js
文書の圧縮が完了しています。
あなたは上記の操作を実行した後、我々は現在のディレクトリがINPUT.TXTアーカイブinput.txt.gzの下に作成されていることがわかります。

次に、以下のように、decompress.js文書を作成、のドキュメントを展開してみましょう:

VaRのFS =( "FS")を必要とします。
VaRのZLIBは=( 'ZLIB')を必要とします。

// INPUT.TXT input.txt.gz文書を抽出
fs.createReadStream( 'input.txt.gz')
.pipe(zlib.createGunzip())
; .pipe(fs.createWriteStream( 'INPUT.TXT'))コンソール.logの(「文書抽出が完了しました。」)。


私たちが知っているように、リンクフローは、すべての方法............ダウンポイントである
チェーンプログラム

おすすめ

転載: www.cnblogs.com/liuzhongrong/p/11999987.html