1
我想创建一个简单的Node.js服务器并使用pipe()方法发送数据。但我有一个问题。刷新Node.js页面时不加载
第一次启动服务器时会加载页面,但当我刷新页面时,页面会变为空白。我的意思是数据没有加载。为什么会发生?
var http = require('http'),
fs = require('fs');
var myReadStream = fs.createReadStream(__dirname + '/input.txt', 'utf8');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
myReadStream.pipe(res);
}).listen(3300);
跌宕!我认为服务器每次都可以访问myReadStream变量,因为它是全局的。其实我并没有试图提供静态内容。我只是试图使用管道,并了解它的工作方式。 –
@MertŞafak是的,它可以到达变量,它是全局的,但是一旦流被读取,所有后续请求都会看到相同的完成流。 – rsp
@MertŞafak对流的引用仍然可用,但流本身[将已经结束](https://nodejs.org/api/stream.html#stream_readable_pipe_destination_options),就像它在管道末尾所做的一样( )' – George