如何等待与身份验证相关的 Promise 解析?

问题描述 投票:0回答:1

这里有抱负的爱好开发者。

我正在创建一个带有 Firebase 身份验证的 React 应用程序。成功登录后,我正在 Firestore 数据库中查询用户文档以请求登录用户的全名。

此全名用于应用程序的多个部分。但是,这些组件有时会在身份验证完成之前呈现,从而使 fullName 处于“未定义”状态。

这种情况通常的做法是什么?我应该检查 fullName 在我使用它的所有地方是否不是“未定义”吗?或者有没有办法让应用程序等到完整的身份验证过程完成(包括 Firestore 查询)然后才渲染组件?

感谢您的时间和支持。

马丁

javascript firebase asynchronous google-cloud-firestore async-await
1个回答
0
投票

这种情况通常的做法是什么?我应该检查全名吗 在我使用它的所有地方不是“未定义”吗?或者有没有办法 让应用程序等待完整的身份验证过程完成 (包括 Firestore 查询)然后才渲染组件?

Web 应用程序和 Firebase 后端服务的所有交互都是异步操作(JS SDK 中的相应方法返回Promises)。

因此,您需要在应用程序中处理这方面问题。例如,显示一个旋转器,直到对 Firestore 的调用完成(即直到承诺得到履行或在发生错误时被拒绝)。

(如果您分享一些代码,随时可以提供进一步帮助)

© www.soinside.com 2019 - 2024. All rights reserved.