跳到主要内容

避免_在_foreach_调用中_使用_函数_字面量

稳定
推荐
有可用修复

避免在 forEach 中使用函数字面量。

详情

#

避免forEach 中使用函数字面量。

for 循环让开发者能够清晰明确地表达其意图。for 循环体内的 return 语句会从整个函数体返回,而 forEach 闭包体内的 return 只会返回当前迭代的值。for 循环体可以包含 await,而 forEach 的闭包体不能。

dart
people.forEach((person) {
  ...
});

dart
for (var person in people) {
  ...
}

启用

#

要启用 avoid_function_literals_in_foreach_calls 规则,请在您的 analysis_options.yaml 文件中 linter > rules 下添加 avoid_function_literals_in_foreach_calls

analysis_options.yaml
yaml
linter:
  rules:
    - avoid_function_literals_in_foreach_calls

如果您使用的是 YAML 映射语法配置 linter 规则,请在 linter > rules 下添加 avoid_function_literals_in_foreach_calls: true

analysis_options.yaml
yaml
linter:
  rules:
    avoid_function_literals_in_foreach_calls: true