Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

300
Visualizações
¿Dónde debo poner async await, en class js o nuxt html?

claseWooCommerceProductos.js

 import { WooComRestApi } from "~/plugins/classWooCommerceOrigin.js"; export class WooCommerceProducts { constructor() { } //-- A method -- async get() { const getproducts = await WooComRestApi.get("products").then((response) => { return response.data }).catch((error) => { return "WooCommerceProducts get failre" }) return getproducts } //or //-- B method -- get() { const getproducts = WooComRestApi.get("products").then((response) => { return response.data }).catch((error) => { return "WooCommerceProducts get failre" }) return getproducts } }

productos.vue

 // -- A method -- methods: { getProducts() { const WooComProducts = new WooCommerceProducts() WooComProducts.get().then((response) => { this.products = response }).catch((error) => { throw new Error(error) }) } }, or // -- B method -- methods: { async getProducts() { const WooComProducts = new WooCommerceProducts() await WooComProducts.get().then((response) => { this.products = response }).catch((error) => { throw new Error(error) }) } },

chicos una pregunta rápida en dos partes

  1. Tengo una clase js que llama desde el backend y recupera los datos de los productos, ambos códigos funcionan, uno es asíncrono y espero en html vue, el otro es asíncrono y espero en la clase js, entonces, ¿cuál hizo bien? ¿Alguien puede decirme qué dosis diferente hace?

  2. ¿Cómo devuelvo los datos o el error a la función getProducts y obtengo el mismo resultado que la clase? si falla, devuelve "wooCommerceProducts: get failure" y volverá a mis funciones de error de captura de getProducts.

aprendiendo más 😄 agradecido por compartir tus consejos. ¿Cómo implementarías si fueras tú?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Lo que hay que recordar es que async/await es simplemente una sintaxis más moderna para promise .then() . No tiene sentido mezclarlos.

¿Cómo devuelvo los datos o el error a la función getProducts?

Devuelve los datos explícitamente en la sintaxis asíncrona (dentro de un try/catch ). En el estilo antiguo de promesa, devuelve la promesa.

 //-- A method -- async get() { // note that no "then" appears here try { const response = await WooComRestApi.get("products"); return response.data; // note the return } catch(err) { console.log("WooCommerceProducts failure"); throw err; } } //or, using the older syntax //-- B method -- get() { return WooComRestApi.get("products").then((response) => { // note the return return response.data; }).catch((error) => { console.log("WooCommerceProducts get failure"); throw error; }); }

Tengo una clase js que llama desde el backend y recupera los datos de los productos, ambos códigos funcionan, uno es asíncrono y espero en html vue, el otro es asíncrono y espero en la clase js, entonces, ¿cuál hizo bien?

El mismo patrón que antes "Un método" es correcto porque no necesita retorno. Para el "método B", ha elegido el nuevo estilo, así que manténgalo...

 // -- B method -- methods: { async getProducts() { const WooComProducts = new WooCommerceProducts() try { this.products = await WooComProducts.get(); } catch(error) { // handle error } } },
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda