2017-03-10 9 views
-1

私はこの文書の下に書いた例コードを持つbooking master.jsを読んでいます。このノードを実行するとエラーは表示されませんが、端末には何も印刷されません。node.jsのJavaScriptコードで何が問題になっていますか?

let Readable = require('stream').Readable; 
let fs   = require('fs'); 
let readable = new Readable; 
let count  = 0; 

readable._read = function(){ 
    if(++count) { 
     return readable.push(null); 
    } 

    setTimeout(function(){ 
     readable.push(count+"\n"); 
    }, 2000); 
}; 

readable.pipe(process.stdout); 

答えて

2

問題はここにある:あなたが0countを初期化

if(++count) { 
    return readable.push(null); 
} 

ので、初めて_read++count戻り1、と呼ばれています。この関数は(nullを押してストリームを終了した後に)すぐに戻り、setTimeoutは呼び出されません。

++count > 10as in the text)、数字110を期待通りに標準出力に書き出します。

関連する問題