Необработанное исключение Future dynamici c не является подтипом типа FutureOr List Books - PullRequest
1 голос
/ 25 января 2020

как передать данные 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);
}

1 Ответ

0 голосов
/ 25 января 2020

Указание типа возврата для функции 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();
  }
}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...