Soy del idioma Ruby, lo siento por la pregunta de novato. Me gustaría tener una recuperación asíncrona de datos en una tabla que proviene del punto final de mi aplicación de backend de Rails. Me gustaría que los datos se obtengan en vivo, es decir, si se crea un nuevo registro, el resultado debería mostrarse en la tabla. Para lograr eso, probablemente necesito enviar una solicitud GET, por ejemplo, cada 15 segundos y cuando se descargan los datos, me gustaría informarle que la aplicación lo está haciendo (¿agregar algún tipo de rueda giratoria?).
Lo que tengo:
imports.js
const fetchSyncedProductsResultRequest = (token) => { return axios .get(`/api/v1/imports/products/sync_result`, { headers: { Authorization: `Bearer ${token}`, } }) .then(response => { return response.data['products'] }) }; sync_products.vue
<script> import { fetchSyncedProductsResultRequest, } from '../../api/imports' export default { name: 'BackboneSyncProducts', data() { async mounted() { await fetchSyncedProductsResultRequest(this) this.syncedProductsFetched = true this.pageChanged(this.currentPage) }, async mounted() { const jwtToken = this.$store.state.idToken; fetchSyncedProductsResultRequest(jwtToken).then(data => { this.fetchedProductSyncStatus = data }) }, </script>¿Cómo enviar esta solicitud cada 15 segundos solo cuando el usuario está en una página con contenido sync_products.vue y cuando la obtención está en progreso muestra alguna rueda giratoria?