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

121
Views
Cómo acceder al resultado de la promesa del HTML en Vuejs

Estoy haciendo un sitio web, en Vuejs, para un proyecto universitario.
El alcance de la función es averiguar si un libro está configurado como favorito y, luego, devolver el nombre del icono para que establezca automáticamente el icono correcto.
Para hacer esto creé la función setIcon() :

 setIcon: async function (id) { var favs = await DataService.getFav(); var isFav = favs.find((book) => book.id === id); if (isFav === undefined) { return "favorite_border"; } else { return "favorite"; } }

La función, entonces, simplemente se llama en la parte HTML dentro de la etiqueta del icono.
Por motivos de depuración, eliminé la etiqueta del icono y dejé el botón uno, para poder ver cuál es el valor devuelto por la función como el nombre del Botón.

 <md-button class="md-button" @click.stop="setFav(book.id)"> {{ setIcon(book.id) }} </md-button>

El problema es que el valor que devuelve la función es un Promise Object y no la cadena "favorite_border" o "favorite" .

Entonces mi pregunta es ¿cómo puedo acceder al resultado de la promesa en la parte HTML?

También intenté poner la parte .then() después de setIcon() pero el resultado es el mismo

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

0

No tienes que usar async , prueba esto:

 setIcon: function(id) { DataService.getFav().then((favs) = >{ var isFav = favs.find((book) = >book.id === id); if (isFav === undefined) { return "favorite_border"; } else { return "favorite"; } }) }

si el método DataService.getFav() no tiene parámetros y obtiene el mismo resultado, debe almacenar en caché el resultado en el otro método; de lo contrario, cada ejecución setIcon llamará a DataService.getFav() , es una pérdida de rendimiento.

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!