Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

287
Visualizações
pasar un error de una función auxiliar asíncrona al cliente

Estoy escribiendo una aplicación MVC de NodeJs usando Sequelize. Tengo 2 modelos ( Model1 y Model2 ) que están asociados en la tabla de unión Models por una relación ManyToMany.

EJEMPLO

 Model1 Model2 Models |id_model| descr | |id_model| descr | |mod1_id|mod2_id| | ------ | ----- | | ------ | ----- | | ----- | ----- | | 1 | some | | 1 | thing | | 1 | 2 | | 2 | many | | 2 | one | | 1 | 1 | | 3 | where |

Si quiero actualizar las relaciones de Model1.id_model = 1 en la tabla de unión para que

 Models |mod1_id|mod2_id| | ----- | ----- | | 1 | 2 | | 1 | 3 | * instead of 1

Para DELETE * FROM Models WHERE mod1_id = 1 e INSERT las nuevas relaciones (a través de una casilla de verificación de la Vista o lo que sea), escribí una función de ayuda simple:

 // helpers.js const db = require('../models'); const Models = db.models; exports.deleteAllRelations = async (id) => { const deleted = await Models.destroy({ where: {mod1_id: id}, truncate: false }) };

que podría llamar desde la función de update de Model1 definida en el controlador:

 // model1.controller.js const db = require('../models'); const Model1 = db.model1; const helpers = require('./helpers'); exports.update = async (req, res) => { const id = req.params.id; // .... missing code .... // try { // delete all relationships before adding the new ones await helpers.deleteAllRelation(id) // <-- CALLING THE HELPER } catch (e) { return res.status(500).send({message: e.message}) } // subscribe student to each selected course req.body.models.forEach(async model2 => { /* add new relationships */ }) return res.status(200).send({message: "Model updated"}) };

PREGUNTA ¿cómo debo manejar los posibles errores de la función auxiliar asíncrona deleteAllRelations y pasarlos al cliente?

¿Debo envolver la llamada await Models.destroy en un bloque try/catch ? ¿Debo devolver una Promise ? ¿Podrías compartir un ejemplo?

¡gracias por su ayuda!

about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda