【发布时间】:2021-12-03 19:56:58
【问题描述】:
我正在学习 Firebase。在许多代码示例中,我看到如下内容:
const auth = getAuth();
await signInWithPopup(auth, provider);
在 firebase web codelab 中,他们直接调用 getAuth:
await signInWithPopup(getAuth(), provider);
与getFirestore 相同。
那么哪一种是正确的做法,如果它们都相同,那么更好的做法是什么?
编辑:当我需要多次使用auth 对象时,我会通过调用getAuth 一次并将其分配给一个变量来获得任何性能优势吗?
【问题讨论】:
-
有几个正确答案,但通常,这两个代码 sn-ps 的行为“相同”。然而,需要更多的上下文;从技术上讲,这个
const auth = getAuth();将占用内存,并且根据它的放置位置,它可以保留在内存中。而这个await signInWithPopup(getAuth(), provider);可以使用一次并丢弃。同样,取决于代码中的位置。如果您要在多个地方重复使用 var,这个const auth = getAuth();很方便,因为它将保持一个值并且不会再次填充。所以,它们是“相同的”……有点。没有性能差异。
标签: javascript firebase web google-cloud-platform firebase-authentication