Uso dos funciones para cargar algunos componentes para mi página y guardarlos en dos campos representantes y todos los usuarios. Luego trato de usar funciones adicionales subtractSets() para modificar un poco los datos cargados. Mi problema es que los campos this.representatives y this.allUsers en esta función adicional aún no están inicializados. ¿Qué puedo hacer para cargar datos en subtractSets()?
setup() { const representatives = ref([]) const allUsers = ref([]) data() { return { representatives, users } } }, methods(): { loadUsersRepresentatives() { axios.get('getRepresentatives').then(res => { this.representatives = res.data }).catch(() => { ... }) }); }, loadAllUsers() { axios.get('/getAllUsers').then(res => { this.allUsers = res.data }).catch(() => { ... }) }); }, subtractSets(obj1, obj2) { ... }, showRepresentativesDialog(facultyID) { this.loadUsersRepresentatives(facultyID) this.loadAllUsers() this.subtractSets(this.representatives, this.allUsers) this.representativesDialog = true } }, ´´´
Te estás perdiendo async
/ await
methods(): { async loadUsersRepresentatives() { return axios.get('getRepresentatives').then(res => { this.representatives = res.data }).catch(() => { ... }) }); }, async loadAllUsers() { return axios.get('/getAllUsers').then(res => { this.allUsers = res.data }).catch(() => { ... }) }); }, subtractSets(obj1, obj2) { ... }, async showRepresentativesDialog(facultyID) { await this.loadUsersRepresentatives(facultyID) await this.loadAllUsers() this.subtractSets(this.representatives, this.allUsers) this.representativesDialog = true } },