estoy curioseaba con Node.js y he descubierto dos maneras de leer un archivo y enviarlo por el cable, una vez que haya establecido que no existe y he enviado el tipo MIME adecuado con writeHead:¿Cuáles son los pros y los contras de fs.createReadStream vs fs.readFile en node.js?
// read the entire file into memory and then spit it out
fs.readFile(filename, function(err, data){
if (err) throw err;
response.write(data, 'utf8');
response.end();
});
// read and pass the file as a stream of chunks
fs.createReadStream(filename, {
'flags': 'r',
'encoding': 'binary',
'mode': 0666,
'bufferSize': 4 * 1024
}).addListener("data", function(chunk) {
response.write(chunk, 'binary');
}).addListener("close",function() {
response.end();
});
¿Estoy en lo correcto al asumir que fs.createReadStream podría proporcionar una mejor experiencia de usuario si el archivo en cuestión era algo grande, como un video? Se siente como si fuera menos bloqueado; ¿Es esto cierto? ¿Hay otros pros, contras, advertencias o errores que necesito saber?
¡Impresionante, gracias! –
+1 Muy informativo. Gracias. – styfle
@isaacs, ¿podría darnos un ejemplo de cómo se podrían implementar esos 3 pasos, gracias! –