Un usuario preguntó 👇

[ad_1]

Estou aprendendo a usar chamadas em APIs e estou tentando obter minha resposta de API para não retornar os mesmos dados repetidamente, atualmente, apesar de usar setInterval, tentei alterar a ordem e torná-la assíncrona, mas estou atualmente não é capaz de descobrir como mudar eso.

La idea es hacer una llamada original a la API en la carga de la página y después de 6 segundos más o menos hacer la llamada nuevamente pero cambiar la respuesta automáticamente, por lo tanto, el setInterval.

Aquí está mi código:

const advice = document.getElementById("advice");
const adviceNum = document.getElementById("adviceNum");

const slip_id = Math.random() * 100;
console.log(slip_id)

fetch(`https://api.adviceslip.com/advice/$slip_id`)
    .then(response => 
        return response.json();
    ) 
    .catch(error => 
        console.log(error);
    )
    .then(data => 
        console.log(data);
        const returnedAdvice = data.slip.advice;
        console.log(returnedAdvice);
        const idAdvice = data.slip.id;
    
        adviceNum.innerText = `ADVICE #$idAdvice`;
        advice.innerText = `"$returnedAdvice"`;

        setInterval(() => 
            console.log(data);
            const returnedAdvice = data.slip.advice;
            console.log(returnedAdvice);
            const idAdvice = data.slip.id;
    
            adviceNum.innerText = `ADVICE #$idAdvice`;
            advice.innerText = `"$returnedAdvice"`;
        , 8000)
    )

¡Agradecería cualquier ayuda sobre lo que estoy haciendo mal aquí!

Posible respuesta

Actualmente está realizando una solicitud de recuperación y cuando los datos regresan de esa única solicitud; tu consola.log etc.

Intente lo siguiente en su lugar, envuelva su solicitud de recuperación en setInterval

  setInterval(async function()
    const data = await fetch(`https://api.adviceslip.com/advice/$slip_id`);
    // check your response 
    // compute your values 
    // add them to the dom
  , 8000);

.
[ad_2]

nota: si aun no se resuelve tu pregunta por favor dejar un comentario y pronto le daremos una posible solucion , muchas gracias

por hoy,espero que te funcione

¿Te ha resultado útil??

0 / 0

Deja una respuesta 0

Your email address will not be published. Required fields are marked *