我在控制器中尝试多个请求。
var requests = [];
for(var url in urls){
requests.add(http.get(Uri.parse(url.split(',')[0])));
}
var results = await Future.wait(requests as Iterable<Future>);
for(int i = 0; i < results.length; i++){
saveData(urls[i].split(',')[1], results[i]);
}
所以它给予了一个错误。
[VERBOSE-2:dart_vm_initializer.cc(41)]未处理的异常:类型“List”不是类型强制转换中类型“Iterable”的子类型
2条答案
按热度按时间edqdpe6u1#
Future.wait()
方法需要一个Iterable<Future>
作为参数,但您传递的却是一个List
。只需要删除铸造:或者你可以直接在参数中运行for循环:
zpgglvta2#
需要2个小改动:
1.将
var requests = [];
替换为List<Future<dynamic>> requests = [];
1.将
requests as Iterable<Future>
替换为requests