Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

116
Visualizações
problema con el uso de await/async para mi 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 à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda