learnyounode文件服务器为什么把createReadStream()里面的createServer()?

这两个片段的工作。 唯一的区别是调用fs.createReadStream()的位置。

在我看来,将它调用一次并将结果赋给一个var将会更有效率,而不是在每个请求上调用它。

我的想法有什么问题?

learnyounode提供的答案:它比我好吗? 如果是这样,为什么?

var server = http.createServer(function(req, res) { res.writeHead(200, { 'content-type': 'text/plain' }); fs.createReadStream(process.argv[3]).pipe(res) }); 

我的答案?

 var src = fs.createReadStream(process.argv[3]) server = http.createServer(function(request, response) { res.writeHead(200, { 'content-type': 'text/plain' }) src.pipe(response); }); 

回答我自己的问题。 我的代码只工作一次,而不是两次,因为stream对象被目标所消耗。