• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

237
Views
Node.js: canalización de una secuencia legible a la respuesta http

Estoy haciendo ejercicios de node.js de nodeschool.io (learnyounode). Uno de los ejercicios consiste en crear un servidor http que sirva un archivo de texto desde un flujo de archivos legibles. Soy muy nuevo en la programación asíncrona. La solución que se me ocurrió es:

 var http = require('http'); var fs = require('fs'); var readable = fs.createReadStream(process.argv[3]); var server = http.createServer(function(request, response) { readable.on('data', function(chunk) { response.write(chunk); }) }); server.listen(process.argv[2]);

Esto funciona, sin embargo, la solución oficial usa una canalización en lugar de un evento en los datos:

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

¿Cuáles son las diferencias (potenciales) y/o los beneficios de hacerlo de cualquier manera?

about 3 years ago · Santiago Trujillo
1 answers
Answer question

0

Bueno, hay más código en su versión y eso generalmente significa que tiene más opciones para cometer errores. Tenga en cuenta algunos casos extremos, como ¿qué sucede cuando la transmisión arroja un error?

No estoy exactamente seguro de cuál sería el comportamiento (puede verificarlo usted mismo, por ejemplo, insertando un nombre de archivo que no existe), pero es probable que en su versión el manejo de errores no funcione muy bien, ignorando potencialmente los errores (porque no está escuchar eventos de error).

about 3 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error