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

157
Visualizações
Uso de Axios para publicar una broma al hacer clic (1 a la vez)

Me vendría bien un poco de ayuda. Tengo un botón y, al hacer clic, genera una broma usando la API de bromas de papá y Axios. Sin embargo, no puedo descifrar cómo deshacerme de la vieja broma cuando vuelvo a hacer clic en el botón. Aquí está mi código. Gracias

let button = document.querySelector('button') button.addEventListener("click", getJoke)

 function getJoke() { const p = axios .get('https://icanhazdadjoke.com/', { headers: { "Accept": "text/plain" }, }) .then((response) => { const joke = response.data const jokeContainer = document.querySelector('.joke'); const blockquoteEl = document.createElement('blockquote'); blockquoteEl.append(joke); jokeContainer.appendChild(blockquoteEl); }) .catch((error) => { const jokeContainer = document.querySelector('.joke'); jokeContainer.innerText = 'Joke not found :('; }); } <div class="joke"> <button>Click if you want a cringe joke</button> </div>
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

necesita almacenar los chistes entrantes en una matriz para verificar los duplicados. prueba esto

 function getJoke() { const p = axios .get('https://icanhazdadjoke.com/', { headers: { "Accept": "text/plain" }, }) .then((response) => { const joke = response.data const jokesArr = []; // stores joke history jokesArr.push(joke); // checkes the repeated joke in jokes history const jokeCheck = (joke) => { const currentItemCount = jokesArr.filter(val => val=== joke).length; if(currentItemCount > 0) { p(); } return joke; } const currentJoke = jokeCheck(joke); const jokeContainer = document.querySelector('.joke'); const blockquoteEl = document.createElement('blockquote'); blockquoteEl.append(currentJoke); jokeContainer.appendChild(blockquoteEl); }) .catch((error) => { const jokeContainer = document.querySelector('.joke'); jokeContainer.innerText = 'Joke not found :('; }); }

about 4 years ago · Juan Pablo Isaza Relatório

0

Lo que debe hacer es usar las funciones heredadas por los elementos dom para eliminar el nodo secundario:

 <body> <div class="joke"> <button>Click if you want a cringe joke</button> </div> <script> let button = document.querySelector('button'); button.addEventListener("click", getJoke); function getJoke(){ const p = axios.get('https://icanhazdadjoke.com/', { headers: { "Accept": "text/plain" } }).then((response) => { const joke = response.data const jokeContainer = document.querySelector('.joke'); jokeContainer.removeChild(jokeContainer.childNodes[2]); const blockquoteEl = document.createElement('blockquote'); blockquoteEl.append(joke); jokeContainer.appendChild(blockquoteEl); }).catch((error) => { const jokeContainer = document.querySelector('.joke'); jokeContainer.innerText = 'Joke not found :('; }); } </script> </body>
about 4 years ago · Juan Pablo Isaza Relatório
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