Así que actualmente estoy tratando de devolver un valor que obtengo de una promesa. Los datos devueltos son una matriz que necesito recorrer para obtener el valor correcto de una determinada condición. Aquí está el código.

  const currency = await getCurrency().then(({ data }) => {

      data.map(({ default, code }) => {
        if (default){
        return code
      }
    })
  }
    return { pageProps, categories, currency };
  }

Según lo solicitado, el código getCurrency

export const getCurrency = () => Moltin.Currencies.All();

¡Estoy aproximadamente 98% seguro de que mi problema proviene de la sintaxis! Gracias por la ayuda

0
Alexandre Savard-Plante 10 may. 2019 a las 17:36

3 respuestas

La mejor respuesta

Hay algunos problemas en tu código

No puede usar default porque es una palabra clave reservada para javascript.
Consulte esta respuesta para comprender cómo resolverlo.

En tu caso, puedes hacer

  data.map(({ default: dev, code }) => {
    if (dev){
    return code
  }
}) 
1
Vencovsky 10 may. 2019 a las 14:48

Si getCurrency () devuelve una promesa, y está usando wait, no necesita usar .then (). La variable llamada moneda mantendrá el valor devuelto por la promesa. .then () solo se usa en entornos que no admiten la sintaxis async / await.

0
tutiplain 10 may. 2019 a las 14:41

Si tiene que obtener algunos valores con algunas condiciones, le recomendaría que use filtro en lugar de mapa. map solo transforma los datos, y filter devuelve los elementos según la condición.

Por ejemplo:

 const currency = await getCurrency().then(({ data }) => {

      data.filter(({ default, code }) => // some condition )
  }
    return { pageProps, categories, currency };
  }
0
German 10 may. 2019 a las 14:49