如何将Future<dynamic>
的数据传递到Future<List<dynamic>>
getall(BuildContext context, String url, String type) async {
final response = await http.get(url, headers: {
'Accept': 'application/json' 'Authorization': 'Bearer $token'
});
if (response.statusCode == 200) {
switch(type){
case "Chapters":
List responseJson = json.decode(response.body)['data'];
return responseJson.map((m) => new Subjects.fromJson(m)).toList();
break;
case "Subjects":
List responseJson = json.decode(response.body)['data'];
return responseJson.map((m) => new Chapters.fromJson(m)).toList();
break;
}
}
}
这是我要从getall
获取数据的功能:
Future<List<Subjects>> getsubjects(BuildContext context, String url, String type) async {
return getall(context, url, type);
Future<List<Chapters>> getchapters(BuildContext context, String url, String type) async {
return getall(context, url, type);
}
答案 0 :(得分:0)
指定getall
函数的返回类型可以解决此问题。
Future<List<Subjects>> getall(BuildContext context, String url, String type) async {
final response = await http.get(url, headers: {
'Accept': 'application/json',
'Authorization': 'Bearer $token'
});
if (response.statusCode == 200) {
List responseJson = json.decode(response.body)['data'];
return responseJson.map((m) => new Subjects.fromJson(m)).toList();
}
}