Я новичок в node.js. Я пытаюсь написать простой http-сервер, который обслуживает файл, указанный на консоли на данном порту.
let http = require ('http');
let fs = require ('fs');
let server = http.createServer ((запрос, ответ) => {
let fileStream = fs.createReadStream(process.argv[3]);
fileStream.pipe(response);
fileStream.on('end', () => {
console.log('Stream ended.'); // 1
response.end(() => {
console.log('Response ended.'); // 2
});
});
});
server.listen(process.argv[2]);
Хотя первый console.log('Stream ended')
записывается дважды в консоль, когда я отправляю запрос через браузер, второй console.log('Response ended.)
никогда не вызывается, даже если все в моем файле .txt было отправлено в браузер.
Я бы ожидал, что оба появятся, однажды.
Я не смог найти никакой информации об этом в официальной документации, но труба () завершает ответ автоматически? Почему console.log # 1 запускается дважды?
Заранее спасибо!