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

227
Vistas
Mecanografiado: ¿cómo llamar al método json () en el resultado de la promesa cuando el resultado podría ser de tipo Respuesta o nulo?

En mi aplicación React Native, hago una llamada a la API y luego trato de aplicar el método json() al resultado, así:

 await fetch(...) .catch(e => {...}) .then(res => res.json().then(...)

Typescript lanza una advertencia en json() diciendo que Property 'json' does not exist on type 'void | Response' .

Qué quiero saber:

  1. ¿Hay alguna manera de evitar esta advertencia?
  2. Si cambio el orden de catch y then , el error desaparece. Pero quiero que catch solo los errores de fetch() , no del código en el bloque then . ¿Hay una manera de lograr esto?
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Usar encadenamiento opcional :

 await fetch(...) .catch(e => {...}) .then(res => res?.json?.().then(...)

El operador de encadenamiento opcional ( ?. ) le permite leer el valor de una propiedad ubicada en lo profundo de una cadena de objetos conectados sin tener que verificar que cada referencia en la cadena sea válida.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Si cambio el orden de catch y then , el error desaparece. Pero quiero que catch solo los errores de fetch() , no del código en el bloque then . ¿Hay una manera de lograr esto?

Sí, use .then(…, …) en lugar de .then(…).catch(…) :

 await fetch(...).then(res => res.json().then(…) , e => { … });
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