Dart报The return type ‘bool‘ isn‘t a ‘void‘, as required by the closure‘s context

简介: Dart报The return type ‘bool‘ isn‘t a ‘void‘, as required by the closure‘s context

错误描述

对List使用forEach时报错The return type ‘bool’ isn’t a ‘void’, as required by the closure’s context。

代码如下:

bool _checkData() {
  _myControllers.forEach((element) {
    if(element.text.isEmpty||int.parse(element.text) <= 0){
      return false;
    }
    return true;
  });
}

问题分析:

报错是说返回类型“bool”不是闭包上下文所要求的“void”。在forEach里直接return了一个bool类型,但是forEach要求是不能返回值的。


解决方法

这个错误是因为forEach的回调函数要求返回void,但你的代码中返回了bool。

forEach的回调函数是对每个元素执行某个操作,它本身不应该有返回值。在forEach外部判断所有controller的text是否合法,而不是在回调函数内判断并返回bool。

正确的代码应该是:

bool _checkData() {
  for (var element in _myControllers) {
    if (element.text.isEmpty || int.parse(element.text) <= 0) {
      return false;
    }
  }
  return true;
}
相关文章
|
11月前
|
安全 关系型数据库 MySQL
PHP与MySQL动态网站开发实战指南####
——深入探索LAMP栈下的高效数据交互与处理技巧 ####
|
jenkins Java Shell
解决jenkins结束后kill掉衍生进程
解决jenkins结束后kill掉衍生进程
|
数据可视化 数据挖掘 数据处理
Seaborn——让图表更美观、更智能
Seaborn——让图表更美观、更智能
218 0
【Java基础面试三十七】、说一说Java的异常机制
这篇文章介绍了Java异常机制的三个主要方面:异常处理(使用try、catch、finally语句)、抛出异常(使用throw和throws关键字)、以及异常跟踪栈(异常传播和程序终止时的栈信息输出)。
|
Java 数据库连接 开发者
Java作为一门广泛应用的编程语言
【7月更文挑战第2天】Java作为一门广泛应用的编程语言
89 0
leetcode-61:旋转链表
leetcode-61:旋转链表
60 0
|
存储 SQL 数据采集
《全链路数据治理-智能数据建模 》——大白话数据建模(3)
《全链路数据治理-智能数据建模 》——大白话数据建模(3)
312 0
|
存储 JavaScript 前端开发
JavaScript 流程控制 - 分支和循环(四)
文章目录 JavaScript 流程控制 - 分支和循环 1. 什么是流程控制 2. 顺序流程控制 3. 分支流程控制 之 if语句 3.1 什么是分支结构 3.2 if 语句 3.2.1 if 语句基本理解 3.2.2 if 语句执行流程 3.2.3 if 语句案例 3.3 if else语句(双分支语句) 3.3.1 引言 3.3.2 if else 语法基本理解 3.3.3 判断闰年案例
195 0
JavaScript 流程控制 - 分支和循环(四)
|
SQL NoSQL Oracle
2021 年最新数据库排行榜出炉!Oracle 稳坐第一,MySQL 穷追不舍。。
授权转自:OSCHINA,作者:局长* *原文:https://www.oschina.net/news/135658/db-engines-ranking-202104 DB-Engines 4 月份流行度排行已更新,基于 3 月份的整体数据变化。
2021 年最新数据库排行榜出炉!Oracle 稳坐第一,MySQL 穷追不舍。。