Tengo información de usuario de Google que quiero exportar, ya que es asíncrona. Tengo una función asíncrona que funciona bien. El problema es que el segundo módulo no la recibe a pesar de que creé una función asíncrona esperándola. Por favor ayuda, por supuesto que soy nuevo. Molde 1:
export async function setU (u) { let user= await u; console.log(user.uid) return user }Este obtiene la info sin problema, el problema es al momento de importar.
import {login,cerrar,setU} from '/js/log_principal.js'La siguiente función en el módulo 2 no funciona. Módulo:2
login() //getInfo(datos) b(setU) async function b(usuario){ let user= await usuario; console.log(user.uid) // this gives undefined!!! :( }Creo que no estás entendiendo correctamente lo que importas al importar una función.
Lo que hace aquí es pasar una función (que no se ejecuta) a través de una función diferente como:
function demonstration(await function user() {}) { // code... }en su lugar, primero desea ejecutar la función y luego pasarla a través de la función
La solución es bastante simple
Archivo1.js
export async function setU (u) { let user = await u; console.log(user.uid); return user; }Archivo2.js
import {login,cerrar,setU} from '/js/log_principal.js' login() b(setU) async function b(usuario){ let user= await usuario; console.log(user.uid); }