【发布时间】:2021-02-16 21:23:56
【问题描述】:
问题
我想将几个用户数据添加到 Firestore Authenticateced 用户列表和我自己创建的 users 集合中,但它并不顺利。 users 集合仅更新它的一部分。
数据
// javascript
users: [
{email: "n_0@example.com", username: "user0"},
{email: "n_1@example.com", username: "user1"},
{email: "n_2@example.com", username: "user2"},
{email: "n_3@example.com", username: "user3"},
{email: "n_4@example.com", username: "user4"}
]
代码
// javascript
import * as app from 'firebase/app'
import 'firebase/auth'
const config = JSON.parse(process.env.VUE_APP_FIREBASE_CONFIG)
app.initializeApp(config)
export const firebase = app
export const auth = app.auth()
function asyncCreateUser(user) {
return auth.createUserWithEmailAndPassword(
user.email,
'password'
).then(function (createdUser) {
console.log('---')
console.log('user.email', user.email)
console.log('createdUser', createdUser.user.email)
const ref = usersRef.doc(createdUser.user.uid)
return ref.set(user)
})
}
this.users.map(user => asyncCreateUser(user))
结果
- 经过身份验证的用户没问题。
-
users集合有问题:集合中只有三个用户。在不同的执行过程中,添加到user集合的用户数量可能会有所不同。
日志
Debug.vue?2083:50 user.email n_3@example.com
Debug.vue?2083:51 createdUser n_2@example.com
Debug.vue?2083:49 ---
Debug.vue?2083:50 user.email n_2@example.com
Debug.vue?2083:51 createdUser n_1@example.com
Debug.vue?2083:49 ---
Debug.vue?2083:50 user.email n_1@example.com
Debug.vue?2083:51 createdUser n_1@example.com
Debug.vue?2083:49 ---
Debug.vue?2083:50 user.email n_0@example.com
Debug.vue?2083:51 createdUser n_0@example.com
Debug.vue?2083:49 ---
Debug.vue?2083:50 user.email n_4@example.com
Debug.vue?2083:51 createdUser n_4@example.com
奇怪的是,在某些部分,user.email 和 createdUser 是不同的。
需要帮助
我想知道如何解决它。如果可能的话,我也想知道原因。谢谢!
【问题讨论】:
标签: javascript reactjs firebase vue.js google-cloud-firestore