gpt4 book ai didi

flutter - 'List'类型不是 'FutureOr'类型的子类型

转载 作者:行者123 更新时间:2023-12-03 04:13:20 28 4
gpt4 key购买 nike

我正在尝试从Future 类型检索数据,但出现此异常:

Exception: type 'List<dynamic>' is not a subtype of type 'FutureOr<String>'
这是返回Future 的方法:
 class  EtablissementController{

Future<String> AfficherEtablissement() async {
final response =
await http.get('http://10.0.2.2:8080/api/getetab');
if (response.statusCode == 200) {
return json.decode(response.body);
} else {
throw Exception('Failed to load');
}
}
}
在这里,我调用此方法并填充返回的数据:
    etabController = EtablissementController() ;
//fetching data
etabController.AfficherEtablissement().then((value) => {
print("Fetched values: "+value)
}) ;
//fetching data

最佳答案

问题是您要通过此方式返回不同类型的数据

// this is a json decoded data, not String
return json.decode(response.body);
并在您的通用数据类型中为您提到了 返回数据类型String future
Future<String> AfficherEtablissement() async {}
尝试为您的方法 AfficherEtablissement()声明正确的数据类型。
建议:使用方法名称作为 camelCase。良好的 Dart 练习,您可以在此处阅读有关 Dart 指南的更多信息: Effective Dart
  // return the dynamic data type
Future<dynamic> AfficherEtablissement() async {
final response =
await http.get('http://10.0.2.2:8080/api/getetab');
if (response.statusCode == 200) {
return json.decode(response.body);
} else {
throw Exception('Failed to load');
}
}
并且当您获取数据或打印数据时,必须通过 toString()将其更改为String,因为您获得了动态数据类型,但是在打印时,它需要 String
etabController.AfficherEtablissement().then((value) => {
print("Fetched values: "+value.toString());
});

关于flutter - 'List<dynamic>'类型不是 'FutureOr<String>'类型的子类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63282324/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com