플러터를 사용하면서 영문을 모른체 헤매던 것 중 하나이다
보통 DB에서 http get 으로 다음과 같이 Future 함수를 통해 Info라는 정보를 가져온다고 해보자
class Info {
final int id;
final String name;
Info(
{this.id,
this.name,
});
factory Info.fromJson(Map<String, dynamic> json) {
return Info(
id: json['id'],
name: json['name'],
);
}
}
Future<List<Info>> getInfoList() async {
final response =
await http.get(Uri.parse("$serverAddr/getInfo.php"));
final items = json.decode(response.body).cast<Map<String, dynamic>>();
List<Info> infos = items.map<Info>((json) {
return Info.fromJson(json);
}).toList();
return infos;
}
Future<List<Info>>
가 되어서 그냥 사용하려고 하면 String name= infos[0].name;
int id;
infos.then((val){
val.id=2
id=val.id
});