flutter - 有没有办法迭代未来飘飘然
问题描述
如果我Future<list>
尝试使用 for 循环或尝试将其设置为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;
}
解决方案
您不能直接在未来进行迭代,但您可以等待未来完成,然后在列表上进行迭代。
您可以使用其中任何一种方法,具体取决于您的用例。
List dailyTaskList = await getDailyTask(DateTime.now());
// Now you can iterate on this list.
for (var task in dailyTaskList) {
// do something
}
或者
getDailyTask(DateTime.now()).then((dailyTaskList) {
for (var task in dailyTaskList) {
// do something
}
});
推荐阅读
- php - ajax更新数据库后更改按钮文本
- laravel - 使用 laravel 5 从动态表单字段中插入多行
- python - cython 函数中的 Lambda 表达式
- speech-to-text - Google Speech to text:视频模型目前不支持语言:nl-NL
- javascript - 如何在数组更改之前将对象的值存储在数组中?
- machine-learning - DBSCAN 的距离函数
- r - 提高图 Igraph R 中边权重计算的速度
- django-rest-framework - 我们可以在 mongo 中使用 django rest 框架吗
- bash - 并行运行多个 SSH 会话
- android - Android Fotoapparat 相机 - 在荧光灯下闪烁