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

191
Views
¿Fetch API no recibe el error Express JSON?

Creé una API REST simple y ahora estoy tratando de conectarle un cliente front-end. Como parte de mi proceso de manejo de errores, quiero enviar cualquier error del lado del servidor como un objeto JSON a mi cliente, para poder mostrar los mensajes de error apropiados para el usuario.

Un ejemplo de mi código express de back-end:

 try { const newPost = new Post({ title: req.body.title, body: req.body.body, author: author._id, }); await newPost.save(); res.json(newPost); } catch (err) { console.log(err); res.status(400).json({ err }); }

Al realizar la prueba, console.log(err) en mi bloque catch imprime un objeto de error si falla la validación posterior, por ejemplo

 errors: { title: ValidatorError: Path `title` is required. ... }

Este es un ejemplo de cómo me comunico con la API desde mi cliente front-end.

 fetch(url, options) .then((res) => { console.log(res); if (res.status !== 200) throw new Error(res); return res.json(); }) .then((data) => console.log(data)) .catch((err) => console.log(err)); };

La resolución console.log recoge el siguiente objeto:

 body: ReadableStream locked: false bodyUsed: false headers: Headers {} ok: false redirected: false status: 400 statusText: "Bad Request" type: "basic" url: "http://localhost:3001/posts"

A pesar de que mi back-end emitió un json(err) , esto no parece ser recogido en la respuesta anterior. Entonces, ¿cómo puedo hacer que fetch el objeto de error que estoy enviando desde el back-end?

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!