Flutter 获取此错误-键入';未来<;动态>';不是类型为';列表<;动态>';

Flutter 获取此错误-键入';未来<;动态>';不是类型为';列表<;动态>';,flutter,Flutter,无论何时尝试调用未来数据并尝试转换到列表,它都会返回错误 类型“Future”不是类型“List”的子类型 尝试了类型转换,但没有帮助 在主页.dart上 final getPost = NetworkFile().getPosts(); List posts; void getPostsList() { setState(() { var res = getPost; posts = res as List<dynamic>;

无论何时尝试调用未来数据并尝试转换到
列表
,它都会返回错误

类型“Future”不是类型“List”的子类型

尝试了类型转换,但没有帮助

在主页.dart上

final getPost = NetworkFile().getPosts();
  List posts;

  void getPostsList() {
    setState(() {
      var res = getPost;
      posts = res as List<dynamic>;
      print(posts);
    });
  } 
final getPost=NetworkFile().getPosts();
列出员额;
void getPostsList(){
设置状态(){
var res=getPost;
posts=res作为列表;
印刷(职位);
});
} 
关于网络.dart

class NetworkFile{

Future<dynamic> getPosts() async {
    var response = await http.get('$kBlogURL' + 'posts?_embed');
    Iterable resBody = await jsonDecode(response.body.toString());
    return resBody;
  }
} 

类网络文件{
Future getPosts()异步{
var response=wait http.get(“$kBlogURL”+”posts?_embed”);
Iterable resBody=wait jsonDecode(response.body.toString());
返回主体;
}
} 
final getPost=NetworkFile().getPosts();
地图柱;
void getPostsList()异步{
var res=等待getPost;
设置状态(){
posts=res作为Map;
印刷(职位);
});
}
类网络文件{
Future getPosts()异步{
var response=wait http.get('https://onetechstop.net/wp-json/wp/v2');
var resBody=await jsonDecode(response.body.toString());
返回主体;
}
}

您正在解码响应及其类型为
动态
列表。处理它的方法很少。您可以创建一个简单的PODO类并对其进行cast/映射。或者像下面这样做:

List posts = [];

void getPostsList() async {
  final fetchedPosts = await NetworkFile().getPosts();
  setState(() {
    posts = fetchedPosts;
  });
  print(posts);
}

.

这很有帮助!谢谢。评论不用于长时间讨论;这段对话已经结束。
List posts = [];

void getPostsList() async {
  final fetchedPosts = await NetworkFile().getPosts();
  setState(() {
    posts = fetchedPosts;
  });
  print(posts);
}