首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Flutter:类型'Future<bool>‘不是类型转换中类型'bool’的子类型

Flutter:类型'Future<bool>‘不是类型转换中类型'bool’的子类型
EN

Stack Overflow用户
提问于 2021-08-09 19:15:43
回答 2查看 792关注 0票数 1

我正在尝试根据返回值显示一个小部件。但是得到了下面的错误。

代码语言:javascript
复制
type 'Future<bool>' is not a subtype of type 'bool' in type cast

以下是导致错误的源代码:

代码语言:javascript
复制
  Future<bool> fetchCourses() async {
    List courses = [];
    final loggedInUser = FirebaseAuth.instance.currentUser;
    if (loggedInUser != null) {
      final userCollection = await FirebaseFirestore.instance.collection('users').doc(loggedInUser.uid).get();
      courses = userCollection.get('coursesEnrolled');
    }
    if (courses.length == 0) {
      return false;
    } else {
      return true;
    }
  }
.
.
.
bool hasCourses = fetchCourses() as bool;
.
.
.
hasCourses ? ListAllUserEnrolledCourses() : Container(),
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-08-09 19:18:52

fetchCourses()返回Future<bool>,请使用FutureBuilder解析Future

代码语言:javascript
复制
FutureBuilder<bool>(
  future: fetchCourses(),
  builder: (_, snapshot) {
    if (snapshot.hasData) {
      return snapshot.data ? ListAllUserEnrolledCourses() : Container();
    }
    return Text('Loading...');
  },
),
票数 2
EN

Stack Overflow用户

发布于 2021-08-09 19:17:34

代码语言:javascript
复制
bool hasCourses = await fetchCourses();

您需要等待它完成,但不需要强制转换它。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68717449

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档