[英]Nuxtjs and Firebase Auth: await firebase.auth().currentUser not waiting?
Nuxt.js 专注于服务器端渲染,并具有在页面组件加载之前调用一次的asyncData
属性。
我正在尝试类似的东西:
async asyncData({params}) {
// firebase.auth().onAuthStateChanged((user)=>{ // <-- this doesn't work in the asyncData property
let user = await firebase.auth().currentUser
let info = {}
console.log(user)
user.uid === null // true
}
两个类似的问题:
有似乎不适用于nuxt的解决方案......
我也试过:
function getCurrentUser(auth) {
let userLoaded = false;
return new Promise((resolve, reject) => {
if (userLoaded) {
resolve(firebase.auth().currentUser);
}
const unsubscribe = auth.onAuthStateChanged(user => {
userLoaded = true;
unsubscribe();
resolve(user);
}, reject);
});
}
似乎onAuthStateChanged
仅在客户端触发。 但问题是, SSR功能仅对非身份验证用户有意义,对于身份验证用户场景,不妨将 firebase 调用逻辑放入mounted
钩子中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.