Firestore 的 auth.user().onCreate 触发器是否在 auth().createUser 之前完成?



我想知道当你调用await auth.createUser((时,auth.user((.onCreate触发器中的所有代码是否都与此一起完成,以便在我调用createUser((之后,我可以立即查询在onCreate触发器中设置的数据?

澄清:感谢您到目前为止的回复。不幸的是,它比这两个答案都复杂一些。这种情况是,我在Firebase中创建了一个多应用、多项目的系统,允许用户在多个不同的移动应用之一中注册一个帐户,并且它们都链接到"主项目"上的一个中央帐户。

每个项目(包括"主项目"(都有一个用户的身份验证用户以及在 Firestore 中创建的用户文档。

现在,如果他们是平台的全新用户,则"应用程序 X/项目 X"的 onCreate 触发器通过在"应用程序 X/项目 X"的 onCreate 中调用 createUser(( 来处理在"主项目"上创建身份验证用户帐户。在为身份验证用户创建"主项目"时,"主项目"上的用户文档被初始化,我想在从"应用程序 X/项目 X"调用"主项目"的 createUser(( 后直接访问该数据。

这是一个复杂的场景,但我只想知道 onCreate 中的代码是否肯定会与从"应用程序 X/项目 X"调用的 createUser(( 一起完成,以便"应用程序 X/项目 X"可以立即访问"主项目"的用户文档,该文档在"主项目"的身份验证用户的 onCreate 中初始化。

这一切都是按预期设置和工作的,但我担心的情况是,如果在"应用程序 X/项目 X"上调用 createUser(( 之前,"主项目"上的身份验证用户的onCreate不一定完成,以便"应用程序 X/项目 X"将尝试访问和更新"主项目"用户文档的数据,当它尚未初始化时。

答案是否定的,onCreate 在 createUser(( 完成之前不会完成。 createUser(( 在 onCreate 触发器完成之前完成。通过检查在 onCreate 触发器末尾和 createUser(( 调用之后记录的时间戳进行测试。

相关内容

最新更新