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