方法 'then' 没有为类型 'User' 定义。我该如何解决?

时间:2021-03-29 15:50:28

标签: firebase flutter dart

我是 Flutter 的新手。我得到了这个 方法 'then' 没有为类型 'User' 定义。 对于我的代码。

class _LogoutState extends State<Logout> {
  String uid = '';
  @override
  void initState() {
    uid = '';
    FirebaseAuth.instance.currentUser.*then*((val) {  **The error is here
      setState(() {
        this.uid = val.uid;
      });
    }).catchError((e) {
      print(e);
    });
    super.initState();
  }

有人可以帮我解决这个问题吗?非常感谢。

1 个答案:

答案 0 :(得分:0)

发生此错误是因为它不是异步函数

FirebaseAuth.instance.currentUser 是一个用户类型获取器,所以你可以做的是这个。

class _LogoutState extends State<Logout> {
  String uid = '';
  FirebaseAuth auth = FirebaseAuth.instance;
  
  @override
  void initState() {
    setUid();
    super.initState();
  }

  void setUid() {
    if (auth.currentUser != null) {
      setState(() {
        this.uid = auth.currentUser.uid;
      });
    }
  }
}