参数类型 '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())很难说出这种情况发生的地方。