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

233
Views
Evite el manejo si el error tiene respuesta en Vue con Axios en cada solicitud

Uso los interceptores axios para manejar algunos errores, especialmente los errores sin respuesta. Y en algunas partes de mi proyecto, uso el mensaje contenido en error.response.data para validaciones y mostrar un mensaje almacenado en el backend. Pero este interceptor no me impide tener que comprobar si el error tiene respuesta.

Mi interceptor:

 axios.interceptors.response.use( function (response) { ... }, function (error) { if (!error.response) { ... return Promise.reject(new Error(error.message)) }

Un ejemplo de una solicitud que depende de tener el error.response:

 this.$store.dispatch('updateField', { [this.fieldKey]: this.value ? this.value : null }).catch((error) => { this.validateField(error.response.data) })

Pero tendría que poner la llamada de validateField dentro de un if(eror.response) para evitar un error en la consola, y distribuir esto en todo mi código.

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

response se puede tratar como opcional, porque en realidad lo es:

 this.validateField(error.response?.data)

O se puede crear un error normalizado que contiene las propiedades necesarias y no depende de la estructura del error de Axios en un interceptor:

 function (rawError) { const error = new Error(error.response?.data?.myError || error.message); error.data = error.response?.data || null; error.headers = error.response?.headers || null; error.status = error.response?.status || 0; return Promise.reject(error); }
about 4 years ago · Juan Pablo Isaza Report
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!