【问题标题】:The method 'then' isn't defined for the type 'User' [duplicate]没有为“用户”类型定义方法“then”[重复]
【发布时间】:2020-12-15 07:36:54
【问题描述】:

我正在创建一个使用 Firebase 作为后端的应用程序。最初代码工作正常,但从 firebase 更新后,我遇到了问题。问题是:没有为“用户”类型定义方法“then”。在下面的代码摘录中,我添加了 ** 以指示问题所在。欢迎任何帮助。

@override
  initState() {
    FirebaseAuth.instance
        .currentUser
        .**then**((currentUser) => {
      if (currentUser == null)
        {Navigator.pushReplacementNamed(context, "/login")}
      else
        {
          FirebaseFirestore.instance
              .collection("voters")
              .doc(currentUser.uid)
              .get()
              .then((DocumentSnapshot result) =>
              Navigator.pushReplacement(
                  context,
                  MaterialPageRoute(
                      builder: (context) => HomePage(
                      ))))
              .catchError((err) => print(err))
        }
    })
        .catchError((err) => print(err));
    super.initState();
  }

【问题讨论】:

    标签: firebase flutter dart google-cloud-firestore


    【解决方案1】:

    获取当前用户不再是未来。您可能在 pubspec.yaml 中增加了包的版本,而没有修改代码以反映重大更改。

    现在已同步完成检索用户。 像使用同步代码一样检索用户并将其传递到需要的地方。

    @override
      initState() {
        User currentUser= FirebaseAuth.instance.currentUser;
          if (currentUser == null)
            {Navigator.pushReplacementNamed(context, "/login")}
          else
            {
              FirebaseFirestore.instance
                  .collection("voters")
                  .doc(currentUser.uid)
                  .get()
                  .then((DocumentSnapshot result) =>
                  Navigator.pushReplacement(
                      context,
                      MaterialPageRoute(
                          builder: (context) => HomePage(
                          ))))
                  .catchError((err) => print(err))
            }
        super.initState();
      }
    

    如果您仍然需要捕获错误,请将相关代码包装在 try-catch 中。

    【讨论】:

      猜你喜欢
      • 2021-02-09
      • 2021-08-21
      • 1970-01-01
      • 2021-08-02
      • 2022-06-10
      • 2022-01-12
      • 1970-01-01
      • 2021-03-19
      • 2021-09-02
      相关资源
      最近更新 更多