我的功能定义如下

Future<List<Item>> fetchGitUsers() async {
final response = await http.get('https://');

if (response.statusCode == 200) {
  GitUsers gitUser =  GitUsers.fromJson(json.decode(response.body));
  return gitUser.items;
 }

} /函数结束
class GitUsers {
    List<Item> items;
 }


class ... extends State<SearchController> {

@override
  void initState() {
    super.initState();
    gitUsers = fetchGitUsers() as List<Item>;
  }
}

但是我在模拟器屏幕上遇到了错误。

强制类型转换为 flutter - 在Flutter中,类型Future &lt;List &lt;Item &gt;&gt;不是List错误的子类型-LMLPHP

最佳答案

您没有添加await
试试这个

void getUsers() async{
   gitUsers = await fetchGitUsers();
}

@override
  void initState() {
    super.initState();
    getUsers();
  }
}


如果要在UI中使用git用户(例如ListView),请考虑使用FutureBuilder。

像这样
FutureBuilder(
  future: fetchGitUsers(),
  builder: (context, snapshot){
    if(!snapshot.hasData) return CircularProgressIndicator();

    return ListView();
  }
)

10-08 17:41