有没有办法在颤振中迭代 future<list>

seb*_*con 2 dart flutter flutter-get

我想遍历的Future<list>,但得到的错误,如果我尝试使用循环或如果我试图将其设置List

有没有其他方法可以循环遍历列表中的每个元素:

Future<List> getDailyTask(DateTime date) async {
  var params = {'date': date.toIso8601String()};
  Uri uri = Uri.parse('URL');
  final newURI = uri.replace(queryParameters: params);
  http.Response response = await http.get(
    newURI,
    headers: {"Accept": "application/json"},
  );

  List foo = json.decode(response.body);
  return foo;
}
Run Code Online (Sandbox Code Playgroud)

Zee*_*ain 5

你不能直接在 future 上迭代,但你可以等待 future 完成,然后在 List 上迭代。

您可以使用其中一种方法,具体取决于您的用例。

List dailyTaskList = await getDailyTask(DateTime.now());
// Now you can iterate on this list.
for (var task in dailyTaskList) {
  // do something
}
Run Code Online (Sandbox Code Playgroud)

或者

getDailyTask(DateTime.now()).then((dailyTaskList) {
  for (var task in dailyTaskList) {
    // do something
  }
});
Run Code Online (Sandbox Code Playgroud)