我想在這裏按照教程:爲什麼response.write似乎在Node.js中阻止我的瀏覽器?
http://nodetuts.com/tutorials/2-webtail-nodejs-child-processes-and-http-chunked-encoding.html#video
下面的代碼工作
var http = require('http');
var spawn = require('child_process').spawn;
http.createServer(
function (request, response) {
response.writeHead(200, {
'Content-Type':'text/plain'
});
var tail_child = spawn('tail', ['-f', 'temp.txt']);
request.connection.on('end', function() {
tail_child.kill();
});
tail_child.stdout.on('data', function (data) {
console.log(data.toString());
response.end(data.toString());
});
}).listen(9000);
但是瀏覽器沒有收到更新爲temp.txt。如果我更換
response.end(data.toString());
與
response.write(data.toString());
這似乎阻止,並沒有什麼瀏覽器中呈現。
編輯:我想瀏覽器實時連續地顯示任何追加到文本文件按照本教程
我已經做了一個編輯來澄清 – deltanovember
是的,因爲如果你永遠不會調用response.end(),那麼永遠不會發送響應。 –
在教程中沒有response.end(),但新的附加信息似乎'流'到瀏覽器 – deltanovember