gpt4 book ai didi

javascript - 在 AsyncData Nuxt 上运行 Firebase

转载 作者:行者123 更新时间:2023-12-01 01:11:18 24 4
gpt4 key购买 nike

我的问题是 Nuxt 上 asyncData 方法的 firebase 请求。当应用程序位于客户端时,请求有效,但第一次加载不起作用。那么,在服务器上,我安装了什么吗?

这是我的代码:

<script>
import { db } from '~/plugins/firebase.js'
export default {
asyncData (context) {
let listUsers = []
db.collection('users').get()
.then(doc => {
doc.forEach(user => {
listUsers.push({ id: user.id, ...user.data() })
});
})

return {
dataUsers: listUsers
}
}
}
</script>

最佳答案

我看到的问题是 @Andrew1325 指出的,你没有从 asyncData 返回 promise 。这意味着服务器在向客户端发送 HTML 之前不会等待请求完成。

另一方面,如何访问组件中的dataUsers

我建议您重新格式化代码以分派(dispatch)操作

<script>
import { db } from '~/plugins/firebase.js'
export default {
asyncData ({store}) {
return store.dispatch('FETCH_USERS')
}
}
</script>

还有一个简单的操作

async function FETCH_USERS = ({commit}) => {
const doc = await db.collection('users').get()
commit('SET_USERS', doc)
}

关于javascript - 在 AsyncData Nuxt 上运行 Firebase,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55128472/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com