参数类型 'Iterable<Future<dynamic>>' 无法分配给参数类型 'Iterable<Future<news_item>>'
The argument type 'Iterable<Future<dynamic>>' can't be assigned to the parameter type 'Iterable<Future<news_item>>'
在代码中,我存储了一个 api 的结果,它与另一个 api 合作给出结果。
我得到了想要的结果,但是当我尝试将该结果存储在名为 newsitem 的列表中时,我收到了这个错误....
news_item 是 json 数据的模型 class。
class _HomePageState extends State<HomePage> {
var stories = [news_item];
@override
void initState() {
super.initState();
getNewsList();
}
getNewsList() async {
final newsList = await getHotNewsIds()
.then((ids) => ids.take(15).map((id) async => await getNewsItem(id)));
print(newsList);
List<news_item> newsitem = await Future.wait(newsList);
我无法重现你的错误。
你能不能试试改一下
final newsList = ...
至
final List<Future<news_item>> newsList = ...
那么它向您展示了什么?
很抱歉使用答案,因为我没有足够的声誉来发表评论
编辑:您也可以尝试使用如下地图功能:
.map<Future<news_item>>(...
沿线的某个地方 dart 失去了计算所需类型的能力,但是如果没有您正在使用的函数的定义(例如 getNewsItem())很难说出这种情况发生的地方。
在代码中,我存储了一个 api 的结果,它与另一个 api 合作给出结果。 我得到了想要的结果,但是当我尝试将该结果存储在名为 newsitem 的列表中时,我收到了这个错误.... news_item 是 json 数据的模型 class。
class _HomePageState extends State<HomePage> {
var stories = [news_item];
@override
void initState() {
super.initState();
getNewsList();
}
getNewsList() async {
final newsList = await getHotNewsIds()
.then((ids) => ids.take(15).map((id) async => await getNewsItem(id)));
print(newsList);
List<news_item> newsitem = await Future.wait(newsList);
我无法重现你的错误。
你能不能试试改一下
final newsList = ...
至
final List<Future<news_item>> newsList = ...
那么它向您展示了什么?
很抱歉使用答案,因为我没有足够的声誉来发表评论
编辑:您也可以尝试使用如下地图功能:
.map<Future<news_item>>(...
沿线的某个地方 dart 失去了计算所需类型的能力,但是如果没有您正在使用的函数的定义(例如 getNewsItem())很难说出这种情况发生的地方。