我的功能定义如下
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>;
}
}
但是我在模拟器屏幕上遇到了错误。
强制类型转换为 。
最佳答案
您没有添加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();
}
)