Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

308
Vistas
Error: no se pueden establecer encabezados después de enviarlos

La consulta se ejecutó correctamente pero el servidor se cerró y da el siguiente error

 Error: Can't set headers after they are sent. at ServerResponse.OutgoingMessage.setHeader (_http_outgoing.js:356:11)

Como lo encuentro, envíe la respuesta por bucle, esa es la razón principal. Entonces, ¿mi pregunta es cómo enviar la respuesta después de completar el ciclo?

 var addVenueAmenities = function(req, res) { var post={ venue_id:req.params.venue_id, amenitie:req.body.amenitie } for(i=0;i<post.amenitie.length;i++){ data={ venue_id:post.venue_id, amenitie:post.amenitie[i] } var query = "INSERT INTO ?? SET ?"; var table = ["venue_amenities"]; query = mysql.format(query,table); connection.query(query, data, function(err,rows){ if(err) { res.json({"Error" : true, "Message" : "Error executing MySQL query"}); } else { res.json({"Error" : false, "Message" : "Amenitie added successfully"}); } }); } } module.exports= addVenueAmenities;
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Está ejecutando for loop y enviando la respuesta una y otra vez causando este problema.

 for (i = 0; i < post.amenitie.length; i++) { if (err) { res.json({"Error": true, "Message": "Error executing MySQL query"}); } else { res.json({"Error": false, "Message": "Amenitie added successfully"}); } }

Puede usar la biblioteca asíncrona como se muestra a continuación

 async.map(post.amenitie,function (amenitie,callback) { var data= { venue_id:post.venue_id, amenitie:amenitie[i] } var query = "INSERT INTO ?? SET ?"; var table = ["venue_amenities"]; query = mysql.format(query,table); connection.query(query, data, function(err,rows){ callback(err); }); },function (err,result) { if(err) res.json({"Error" : true, "Message" : "Error executing MySQL query"}); else res.json({"Error" : false, "Message" : "Amenitie added successfully"}); });
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda