Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

263
Views
¿Cómo puedo esperar para llamar a la función antes de actualizar los datos en Vue js?

Tengo dos métodos de obtención de API. El primero es verificar si el usuario es un administrador. El segundo es llamar a todas las listas de usuarios.

Pero estoy teniendo dificultades para llamar primero; Siempre llama a todas las listas de usuarios antes de verificar si el usuario es administrador o no.

lo que hice fue

 async mounted() { await this.getCurrentUser(); }

y método para verificar si el usuario es administrador:

 getCurrentUser(){ Common.getUser().then(data => { if(!data.admin){ this.isAdmin = false; } }); },

método para obtener todos los usuarios:

 paging: function (pageNumber) { vm.requestParam.page = pageNumber == undefined ? var param = Common.param(vm.requestParam); axios.get('/api/users?' + param).then(function (response) { /// } }) .catch(function (error) { console.log(error.response); }); },

y los datos son:

 data: { resources: {}, 'requestParam': { 'id': '', 'query': '', 'accessLevel': '', 'page': 1 },`
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

El problema es que las cadenas de promesas están rotas, por lo que await no tiene efecto. Como regla general, una función que involucra promesas debe devolver una promesa que represente el final de su trabajo. Debería ser:

 return Common.getCurrentUser()...

y

 return axios.get('/api/users?' + param)...

nextTick basado en devolución de llamada puede resultar en una condición de carrera. En caso de que afecte a otros métodos, también debería ser una promesa:

 await this.$nextTick(); vm.getResources(); ...
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!