Firebase 是否在SignInsAccess WithAuthResult中调用Firestore以获取额外的用户数据?

Firebase 是否在SignInsAccess WithAuthResult中调用Firestore以获取额外的用户数据?,firebase,google-cloud-firestore,firebaseui,Firebase,Google Cloud Firestore,Firebaseui,我使用的是firebaseui,它具有signInsessWithAuthResult回调,它将用户返回给我 所以在这里面我想调用firestore文档,在那里我有更多的用户配置文件数据要使用和保存 但是我认为这个方法在firestore.get()出现之前就已经完成了,而且永远不会工作 我对这个问题的想法错了吗?这不是一个合适的地方吗 但是我认为这个方法在Firestore.get()出现之前就已经完成了,而且永远不会工作 您猜对了,添加侦听器的操作是异步的,会立即返回,它返回的任务的回调将在

我使用的是firebaseui,它具有signInsessWithAuthResult回调,它将用户返回给我

所以在这里面我想调用firestore文档,在那里我有更多的用户配置文件数据要使用和保存

但是我认为这个方法在firestore.get()出现之前就已经完成了,而且永远不会工作

我对这个问题的想法错了吗?这不是一个合适的地方吗

但是我认为这个方法在Firestore.get()出现之前就已经完成了,而且永远不会工作

您猜对了,添加侦听器的操作是异步的,会立即返回,它返回的任务的回调将在稍后调用。无法保证需要多长时间。根据您的连接速度和状态,身份验证过程可能需要几百毫秒到几秒钟的时间才能完成


如果要使用身份验证过程的结果,必须等待异步操作完成。这意味着您只能在侦听器回调本身内部使用结果。

那么,最好的方法是什么呢。。。就像我在firestore中存储了成员数据,我想在代码的这一点上附加它,并保存为cookie或localStorage。我只是想避免这样的情况:如果回调发生在那里,那么经过身份验证的页面就没有数据,就像我想加载所有配置文件数据一样。有没有关于firebase的最佳prac的文章?…可能只是一篇异步的\Wait,使它有点“同步”(如果这能起作用的话)是的,没错,
wait
是继续进行的解决方案。