我有一些谷歌用户信息,我想导出,因为它是异步的,我有一个异步函数,工作良好的问题是,第二个模块没有得到它,尽管我创建了一个异步函数等待它。请帮忙,我当然是新来的。Moldule 1:
export async function setU (u) {
let user= await u;
console.log(user.uid)
return user
}
获取信息没有问题,问题是在导入时。
import {login,cerrar,setU} from '/js/log_principal.js'
模块2中的下一个函数不起作用。模块:2
login()
//getInfo(datos)
b(setU)
async function b(usuario){
let user= await usuario;
console.log(user.uid) // this gives undefined!!! :(
}
我认为您在导入函数时没有正确理解导入的内容。
你在这里做的是通过一个不同的函数传递一个函数(这个函数没有被执行),比如:
function demonstration(await function user() {}) {
// code...
}
而不是首先执行函数,然后将其传递给函数
解决方法很简单
File1.js
export async function setU (u) {
let user = await u;
console.log(user.uid);
return user;
}
File2.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);
}