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

134
Vistas
problema con obtener 3 veces en una función

Estoy tratando de tener 3 llamadas de búsqueda en mi función.

El primero:

Este me consigue una broma al azar

 fetch('https://v2.jokeapi.dev/joke/Programming') .then((res) => res.json()) .then((actualResponse) => (joke = actualResponse.joke));

Segundo:

Tengo que solicitar una broma de un bot, pensar en ello como un tipo de diseño de chatbot. Le pido "oye, dame un chiste" y luego me da uno. Este recibirá el "oye, dame una broma", envíalo al back-end y reaccionar lo renderizará más adelante.

 fetch('http://localhost:3002/jarvis/add', { method: 'POST', headers: { Accept: 'application/json, text/plain, */*', 'Content-Type': 'application/json', }, body: JSON.stringify({ text: messageInput.current.value, author: 1, }), }).then((res) => res.json());

El tercero:

Este es similar al segundo, se supone que le da a la clave de broma el valor de la variable de broma, lo envía al back-end y luego reacciona y lo renderiza más adelante.

 fetch('http://localhost:3002/jarvis/add', { method: 'POST', headers: { Accept: 'application/json, text/plain, */*', 'Content-Type': 'application/json', }, body: JSON.stringify({ joke: joke, }), }).then((res) => res.json());

Mi reacción puede renderizar cosas como esta, por lo que enviarlo al backend y renderizar funciona. Tengo una API meteorológica que funciona así, por ejemplo. Sin embargo, no entiendo por qué este no funciona, parece que tal vez se deba a que ejecuta otras funciones antes de terminar. Honestamente, no lo sé y agradecería los comentarios de alguien con más experiencia.

Me di cuenta de que podría necesitar usar async/await, ¿alguien puede señalar por qué lo siguiente no funciona? En mi opinión, hace la primera función, luego la segunda y finalmente la tercera. Tiene sentido para mí, claramente todavía no está bien :/. Este es el código completo ahora:

 async function getJoke() { let joke = 'Im a robot'; await fetch('https://v2.jokeapi.dev/joke/Programming') .then((res) => res.json()) .then((actualResponse) => (joke = actualResponse.joke)); await fetch('http://localhost:3002/jarvis/add', { method: 'POST', headers: { Accept: 'application/json, text/plain, */*', 'Content-Type': 'application/json', }, body: JSON.stringify({ text: messageInput.current.value, author: 1, }), }).then((res) => res.json()); await fetch('http://localhost:3002/jarvis/add', { method: 'POST', headers: { Accept: 'application/json, text/plain, */*', 'Content-Type': 'application/json', }, body: JSON.stringify({ joke: joke, }), }).then((res) => res.json()); }
about 4 years ago · Juan Pablo Isaza
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