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

154
Views
async await no funciona en la función componible vue 3

En mi proyecto tengo una función para descargar los archivos. Al hacer clic en el botón, se llamará a la función onDownload :

 import {useOnDownload} from "../../use/useOnDownload" setup() { ... const loading = ref(null) onDownload = (id) => { loading.value = id await useOnDownload(id) loading.value = null } return {loading, onDownload} }

Refactoricé el código para api en una llamada de archivo useOnDownload.js porque el mismo código también se usa en otros componentes.

 export async function useOnDownload(id) { // make api call to server with axios }

¿Que hice mal? Necesito esperar a que la función useOnDownload... para que el cargador funcione.

about 4 years ago · Juan Pablo Isaza
3 answers
Answer question

0

Me las arreglé para resolver de otra manera sin async y esperar ...

Pasé el cargador de objetos de referencia al parámetro de función (como opcional) y lo maneje desde allí...

 export function useOnDownload(id, loader) { if(loader !== undefined) { loader.value = id } axios.post('/api/download', {id: id}, { responseType: 'blob' }).then(response => { // handle the response ... if(loader !== undefined) { loader.value = null } }).catch(error => { // handle the error ... if(loader !== undefined) { loader.value = null } }) }
about 4 years ago · Juan Pablo Isaza Report

0

onDownload debe ser asíncrono para usar await dentro de él

about 4 years ago · Juan Pablo Isaza Report

0

Está utilizando la palabra clave await en su función onDownlaod, pero la función no es asíncrona. Así es como debe actualizarlo.

 // next line important onDownload = async(id) => { loading.value = id await useOnDownload(id) loading.value = null }
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!