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

230
Views
¿Cómo esperar las emisiones asíncronas en Vue 3?

Estoy desencadenando un evento de submit desde un componente principal, que emite una image data-url y un body text de dos componentes secundarios al principal:

 <ImgUploadComponent :triggerEmit="state.submit" @emitImage="getImage"/> <EditorComponent :triggerEmit="state.submit" @emitBody="getBody"/>

La imagen y el cuerpo se recuperan con estas funciones:

 const getImage = async (image) => { form.image = await image // arrives after storeRecord } const getBody = async (body) => { form.body = await body // arrives before storeRecord }

y enviado a la base de datos en esta función:

 const storeRecord = async () => { state.submit = true await getImage await getBody console.log(form.image) // returns undefined form.post('/admin/posts') }

El problema es que el body llega antes de que se envíe form.post pero la image llega después. Cuando escribí esta función, solía funcionar, pero ahora no funciona y no puedo entender por qué. ¿Cómo lo haces bien?

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

0

Gracias a la sugerencia de @Estus, pude usar un watcher para resolver mi problema:

 const storeRecord = () => { state.submit = true watch(() => form.image, () => { form.post('/admin/kreationen') }) } const getImage = (image) => { form.image = image } const getBody = (body) => { form.body = body }
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!