Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

4.1K
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda