Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

277
Views
passing an error from an async helper function to the client

I am writing a NodeJs MVC application using Sequelize. I have 2 models (Model1 and Model2) which are associated in the junction table Models by a ManyToMany relationship.

EXAMPLE

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 |

If I want to update Model1.id_model = 1's relationships in the junction table so that

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

In order to DELETE * FROM Models WHERE mod1_id = 1 and INSERT the new relationships (through a checkbox from the View or whatever), I wrote a simple helper function:

// 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
  })
  
};

that I could call from Model1's update function defined in the controller:

// 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"})
};

QUESTION how should I handle the deleteAllRelations async helper function possible errors and pass them to the client?

Should I wrap the await Models.destroy call into a try/catch block? Should I return a Promise? Could you share an example?

thank you for your help!

about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!