【发布时间】:2020-11-12 18:40:39
【问题描述】:
我有以下 firestore 函数来获取用户数据:
export function getUser(uid) {
return firestore.collection('users').doc(uid).get().then(user => {
console.log({x:user.data(),uid});
return user.data();
})
}
莫名其妙地,有时这个函数会工作得很好,console.log({x:user.data()}) 会返回我正在寻找的对象。但通常它会返回x: undefined 并且会使所有其他代码崩溃。我的功能是否有问题 - 为什么它有时会起作用而其他时候不起作用,我怎样才能让它始终如一地工作?
我注意到,当我打开已登录的网络应用程序时,此错误更频繁地发生。当我进入隐身模式时,似乎不会发生此错误。有没有办法检查返回的数据是否未定义,如果是,重试代码?或者更好的方式来编写这个函数?
【问题讨论】:
标签: javascript asynchronous google-cloud-firestore