2011-10-11 51 views

回答

4

流是由Node中的各种对象实现的抽象接口。例如,对HTTP服务器的请求是一个流,就像stdout一样。流可读,可写,或两者兼有。所有流都是EventEmitter的实例。 (Streams Documentation

这意味着一个流用于通过几个节点的核心对象读取和/或写入信息的有用对象。核心对象都使用它来改进可以将信息从一个对象传递到另一个对象的方式。由于Stream是EventEmitter的一个实例,因此您的代码可以是异步的,并且在从某处读取信息时不会失速。

// imagine 'response' is the output Stream from a client connection 
var video = fs.createReadStream("/path/to/video.mpg"); 
// pipe video to response (while data is being read asynchronously) 
video.pipe(response); 

检查stream.pipe

例如,将视频流传输到HTTP客户端,同时从文件读取视频。或者上传到本地文件。动用你的想象力。