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

292
Visualizações
Tratando de llamar a la API cada minuto, no cuando el usuario recarga

Esto es lo que tengo ahora. En mi mount() tengo fetchCoins() pero eso hace que cada vez que un usuario actualice, se llame a la API

Estoy tratando de hacer que la API se llame, los datos se almacenan en el almacenamiento local y luego se obtienen los datos cada minuto.

 methods: { async fetchCoins() { const response = await fetch("https://api.coingecko.com/api/v3/coins/markets?vs_currency=usd&order=market_cap_desc&per_page=100&page=1&sparkline=false&price_change_percentage=1h"); const data = await response.json(); this.coins = this.coins.concat(data); }, setData() { localStorage.setItem('coin-info', JSON.stringify(this.coins)) }, getData() { let get = localStorage.getItem('coin-info', []); this.coins = JSON.parse(get); console.log(this.coins); setInterval(() => { this.fetchCoins() }, 60000); }, }
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Debe realizar un seguimiento en localStorage sobre la fecha en que ocurrió la última recuperación. Aquí hay una implementación de ejemplo:

 scheduleNextFetchCoins() { const lastFetch = new Date(localStorage.getItem('coin-info-last-fetch')); const timeDelta = Date.now() - lastFetch.valueOf(); const nextCall = Math.max(60000 - timeDelta, 0); setTimeout(() => { this.fetchCoins(); localStorage.setItem('coin-info-last-fetch', new Date()); this.scheduleNextFetchCoins(); }, nextCall) }

Debe cambiar la llamada a this.fetchCoins() en la función mounted para esta.

Pero tenga en cuenta que hay un par de advertencias sobre este fragmento (fuera del alcance de la pregunta):

  • setTimeout y setInterval no son funciones de tiempo totalmente precisas. Podrían retrasarse algunos milisegundos. Si le preocupa esta inexactitud, eche un vistazo a otras preguntas que proponen soluciones como esta .
  • Este fragmento solo funciona para una única instancia del componente. La creación de múltiples componentes dará como resultado una condición de carrera para escribir en coin-info-last-fetch .
  • No hay nada que detenga el ciclo de recuperación, ni siquiera cuando se destruye el componente. Debe almacenar la identificación de tiempo de espera devuelta por setTimeout en los datos del componente para poder borrarla eventualmente.
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