Firebase 更改显示名称花费的时间太长。扑动与火基
我正在尝试创建一个我的用户列表,更新配置文件后显示名称需要一些更改,但到那时,列表的名称部分中已经有一个空值Firebase 更改显示名称花费的时间太长。扑动与火基,firebase,flutter,google-cloud-firestore,firebase-authentication,Firebase,Flutter,Google Cloud Firestore,Firebase Authentication,我正在尝试创建一个我的用户列表,更新配置文件后显示名称需要一些更改,但到那时,列表的名称部分中已经有一个空值 final User user = (await _auth.createUserWithEmailAndPassword( email: emailR, password: passwordR, ) ).user; user.updateProfile(displayName: usernameR); emailc.cl
final User user = (await
_auth.createUserWithEmailAndPassword(
email: emailR,
password: passwordR,
)
).user;
user.updateProfile(displayName: usernameR);
emailc.clear();
passwordc.clear();
usernamec.clear();
DateTime now = DateTime.now();
String dt = "${now.day.toString().padLeft(2,'0')}/${now.month.toString().padLeft(2,'0')}/${now.year.toString()} ${now.hour.toString()}:${now.minute.toString()}";
FirebaseFirestore.instance.collection("users").doc(user.uid).set({
"id": user.uid,
"name": user.displayName,
"email": user.email,
"created_at": dt,
});
我之所以认为这是一个时间问题,是因为在我的主页上,当我第一次注册时,它会显示用户名“嘿,null”每次之后,它都会显示正确的用户名。兄弟它的问题你获取和发送数据每件事都需要时间,因此为此,你需要使用循环进程指示器它需要1或2秒兄弟首先在firstore中更改你的名字,然后从firestore中获取,因此避免在您的名称为空。希望您喜欢我的建议这是一个异步操作,并且
user.displayName
在该操作完成之前不会更新。幸运的是,它返回了一个Future
,因此您可以在调用时使用wait
来等待它完成,就像您对createUserWithEmailAndPassword所做的那样
因此:
await user.updateProfile(displayName: usernameR);