我正在调用一个 API 来从服务器获取数据,并且我已经从(https://javiercbk.github.io/json_to_dart/)创建了一个 dart 文件(模型)
现在我想访问那个未来的对象值。
主要.dart
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: Row(
children: <Widget>[
RaisedButton(
child: Text("Click"),
onPressed: () async{
setState(() {
apiCall = true; // Set state like this
});
MemberLogin fMain = await getUser();
print('$fMain ');
},
),
],
),
),
);
}
Future<MemberLogin> getUser() async {
try {
final String _endpoint =
"https://api.com/";
Dio dio = new Dio();
Response response = await dio
.post(_endpoint, data: {"new_data": "hello"});
print("user API response - : $response ");
setState(() {
apiCall = false;
});
return MemberLogin.fromJson(response.data);
} catch (error, stacktrace) {
print("Exception occured: $error stackTrace: $stacktrace");
//return MemberLogin.withError("$error");
}
}
会员登录.dart
class MemberLogin {
int success;
String message;
MemberLogin({this.success, this.message});
MemberLogin.fromJson(Map<String, dynamic> json) {
success = json['success'];
message = json['message'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['success'] = this.success;
data['message'] = this.message;
return data;
}
}
现在,当我在我的请求后打印message
时。我已经调试了代码,我能够看到响应,但我无法打印或访问消息字符串。MemberLogin
MemberLogin fMain = await getUser();
我怎样才能做到这一点 ?