Creo que tengo un problema de tiempo con Vuex y el paquete https://github.com/championswimmer/vuex-persist .
Qué estoy haciendo:
Este es mi código donde ocurre el problema.
import authModule from './store/modules/auth/auth.js' import { AuthService } from "~/plugins/auth/services/AuthService"; export default({app, store, $axios}, inject) => { store.registerModule('auth', authModule, { preserveState: !!store.hasModule('auth') }) inject('auth', new AuthService(store)) // this will be incorrect and token will be null ===> this.$store.state.auth.token !== null console.log('app.$auth.hasAccessToken', app.$auth.hasAccessToken) // this will be OK and token will be there when I expand the object in the console console.log(app.store) }Entonces, lo que creo que sucede es que lleva tiempo cargar datos desde el almacenamiento encriptado y cuando quiero acceder a ellos de inmediato, no está allí.
Si solo descargo el objeto, supongo que se actualiza antes de que se imprima en la consola y veo lo que necesito ver.
Me preguntaba si alguien sabe cómo podría extender las mutaciones vuex predeterminadas para agregar eventos cuando se produce una mutación o cuando se actualiza la tienda. Luego podría registrar el detector de eventos, por lo que solo procedería cuando todo esté cargado si eso tiene sentido.
Entonces, esencialmente, lo que quiero es una forma de saber que mi tienda está completamente cargada solo cuando todo esté listo.
¿Tiene eso sentido? Tal vez hay una mejor manera?