更新FirebaseUser DisplayName(电子邮件验证)不是';t正在更新实例CurrentUser

更新FirebaseUser DisplayName(电子邮件验证)不是';t正在更新实例CurrentUser,firebase,dart,firebase-authentication,flutter,Firebase,Dart,Firebase Authentication,Flutter,这可能与此类似: 然而,我不能肯定我的颤振技巧。我正在尝试更新Firebase中的DisplayName,然后使用currentUser.DisplayName。updateProfile似乎运行得很好,但即使在重载()调用之后,currentUser也不会使用新的displayName进行更新 我希望任何人都能告诉我我做错了什么,或者把它归咎于Firebase的一个bug 我的代码: Future _update(FirebaseUser user, String displayName) a

这可能与此类似:

然而,我不能肯定我的颤振技巧。我正在尝试更新Firebase中的DisplayName,然后使用
currentUser.DisplayName
。updateProfile似乎运行得很好,但即使在重载()调用之后,currentUser也不会使用新的displayName进行更新

我希望任何人都能告诉我我做错了什么,或者把它归咎于Firebase的一个bug

我的代码:

Future _update(FirebaseUser user, String displayName) async {
  UserUpdateInfo _updateData= new UserUpdateInfo();
  _updateData.displayName = displayName;
  await user.updateProfile(_updateData);
  await user.reload();
  setState(() {
    _currentDisplayName = user.displayName;
  });
}
这对我有用

FirebaseAuth.instance.currentUser().then((val) {
      UserUpdateInfo updateUser = UserUpdateInfo();
      updateUser.displayName = myFullName;
      updateUser.photoUrl = picURL;
      val.updateProfile(updateUser);
    });

您的代码可以很好地更新信息,但即使在我的问题的核心
FirebaseAuth.instance.currentUser().reload()
之后,应用程序也无法立即使用该信息。仅供参考,这似乎是相关的:我使用上述方法创建了一个解决方案,它利用了
Future.reload()
之后的
currentUser().reload()
延迟了3秒钟,然后重新初始化
FirebaseAuth.instance
。你能帮我一下吗,看看你是如何解决的?我正在实现类似的功能,用户在点击
save
按钮时更新自己的名字。目前在我的
onTap
方法中,我有以下代码:。如果我遗漏了什么,你能告诉我吗?下一步是什么?ie是否成功保存名称并将其检索?谢谢你的帮助@themene