如何让 Firebase.dart 中的 updateProfile 工作?

Posted

技术标签:

【中文标题】如何让 Firebase.dart 中的 updateProfile 工作?【英文标题】:How to get updateProfile in Firebase.dart to work? 【发布时间】:2020-02-17 20:46:44 【问题描述】:

我是 Flutter 新手,我无法让 firebase updateProfile 函数工作

我通过控制台创建了一个用户,并尝试通过 Flutter Web 应用程序中的代码更新用户信息。 我创建了用户配置文件实例:

UserProfile fbP = UserProfile();
fbP.displayName = "Youmna";
fbP.photoURL = "";

并将其传递给 updateProfile 函数:

authFB.currentUser.updateProfile(fbP);

--authFB 是我的 Firebase.Auth 属性

我重新加载了用户

authFB.currentUser.reload();

然后我尝试打印显示名称,但它给了我 null!

print(authFB.currentUser.displayName);

但是我尝试打印电子邮件并且打印正确。

print(authFB.currentUser.email);

请问我该怎么办?

【问题讨论】:

【参考方案1】:

也许,您错过了async/await 关键字。 像本例一样使用它们:

import 'package:firebase/firebase.dart' as fb;

...

  void updateProfile() async 
    final profile = fb.UserProfile();
    profile.displayName = 'Another Name';
    profile.photoURL = '';
    final user = fb.auth().currentUser;
    await user.updateProfile(profile);
    await user.reload();
    print(user.displayName);
  

【讨论】:

以上是关于如何让 Firebase.dart 中的 updateProfile 工作?的主要内容,如果未能解决你的问题,请参考以下文章

目标 URI 不存在:'package:firebase_database/firebase_database.dart';

如何获取当前的 Firebase UID 并将其写入实时数据库?

Flutter For Web 从 Firestore 获取数据

在flutter应用程序中从Firebase检索数据时

Firebase 消息传递没有默认构造函数

Firebase.initializeApp() 给出错误:空值检查运算符用于空值