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

4.2K
Views
Cómo manejar el error de mutación GraphQL en lugar de Apollo onError ()

Del lado del servidor, estoy lanzando un 403 Prohibido, para administrar el acceso a una llamada API.

Para detectar el error de GraphQL para una mutación, probé lo siguiente: (el método n. ° 1 funciona cuando detecta errores para useQuery() )

 const [m, { error }] = useMutation(MY_MUTATION); if(error) { console.error('Error return #1'); } try { await m({ variables, onError: (e: ApolloError) => { console.error('Error return #2'); } }).catch(e) { console.error('Error return #3'); }; } catch (e) { console.error('Error return #4'); }

En cambio, desde mi Apollo onError() , se devuelven los siguientes errores de GraphQL y la ejecución se detiene. No entra en ninguno de mis intentos de manejo de errores de mutación:

 graphQLErrors:, Array [ Object { "extensions": Object { "code": "FORBIDDEN", "response": Object { "error": "Forbidden", "message": "Access is denied.", "statusCode": 403, }, }, "message": "Access is denied.", }, ]

Si se devuelve un error de GraphQL similar desde useQuery() , lo muestra usando:

 const { data, error, loading } = useQuery( MY_QUERY ); if(error) { console.error('Error return #1'); }
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Según la documentación de useMutation, creo que la función mutate ( onError m debe configurarla en las opciones de useMutation .

 const [m, { error }] = useMutation(MY_MUTATION, { onError: (e: ApolloError) => { console.error('Error return #2'); } }); if (error) { console.error('Error return #1'); } try { await m({ variables }) } catch (e) { console.error('Error return #4'); }
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!