firebase - currentUser() 不是工作类型为什么我看到表达式没有计算为函数,所以它不能被调用

标签 firebase flutter dart firebase-authentication

我是 Flutter 的新手,我在注册时正在开发一个简单的身份验证应用程序,我应该导航到聊天屏幕,我想获取当前用户,但是当我调用 FireBaseAuth.instance.currentUser() 时,我遇到了一个异常“表达式不计算为函数,因此无法调用它。”为什么我看到这个?请帮忙

import 'package:firebase_auth/firebase_auth.dart';
import 'package:flutter/material.dart';
import 'package:flash_chat/constants.dart';

class ChatScreen extends StatefulWidget {
  static const String id = "chatScreen";
  @override
  _ChatScreenState createState() => _ChatScreenState();
}

class _ChatScreenState extends State<ChatScreen> {
  final FirebaseAuth _auth = FirebaseAuth.instance;
  // ignore: deprecated_member_use
  FirebaseUser loginUser;

  @override
  void initState() {
    super.initState();
    getCurrentUser();
  }

  void getCurrentUser() async {
// HERE I got an Exception "The expression doesn't evaluate to a function, so it can't be invoked."
    final user = await _auth.currentUser();
    if (user != null) {
      loginUser = user;
      print(loginUser.email);
    }
  }


最佳答案

为什么要调用currentUser作为一个功能?它是一个领域,而不是一种方法。

final user = await _auth.currentUser;
更新:
currentUser不返回 future ,使用await没有用,即使它不会导致错误(非 future 对象上的 await 导致在掩护下,对象被包装在新的 future )。
文档引用:https://pub.dev/documentation/firebase_auth/latest/firebase_auth/FirebaseAuth/currentUser.html

关于firebase - currentUser() 不是工作类型为什么我看到表达式没有计算为函数,所以它不能被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63667623/

相关文章:

javascript - Firestore规则: fetch message thread by threadId in secure way

python - 在 Python 中使用 firestore.SERVER_TIMESTAMP

firebase - 如何使用 Firebase 测试 Flutter 应用程序?

javascript - 将辅助数据传递给我的第二个回调函数

flutter - "error: A value of type ' double ' can' t被赋值给类型为'int'的变量”在Flutter中进行数字求和时

process - 如何向进程发送数据?

angular - AngularDart 中有反应形式吗?

node.js - Flutter WebSockets 连接到 Socket.io 服务器

flutter - 使用不包含 Navigator 的上下文请求的 Navigator 操作

flutter - Visual Studio 16 2019 : Could not find any instance of visual studio flutter