Flutter forEach函数并不支持异步(async)操作

7 min read

是的,Flutter的forEach函数并不支持异步操作。这是因为forEach函数是一个同步函数,它是在调用时立即执行的。如果使用异步操作,就可能导致一些不可预测的行为。

如果需要执行异步操作,可以使用其他forEach函数,例如以下示例中的forEachAsync函数:

Future forEachAsync<T>(
  Iterable<T> iterable, 
  Future<void> Function(T) f,
) async {
  for (final element in iterable) {
    await f(element);
  }
}

这个函数将迭代Iterable对象,并在每个元素上执行给定的异步函数。注意,这个函数并不是Flutter内置函数,而是需要自己定义的。