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);
}