启动时颤动的空地图
Empty map on flutter when initiating
Map user = {};
Future<void> getUser(String idProfile) async {
final response = await ac.getItem("/v2/users/:0", [idProfile]);
if (response.statusCode >= 200 && response.statusCode < 300) {
setState(() {
user = json.decode(response.body);
print(user);
});
}
}
@override
void initState() {
super.initState();
getUser(getCurrentUser());
print(user);
}
第一次打印时,它 returns 我是用户。但是,在第二个没有。我需要获取用户信息。我该怎么做?
getUser
是未来的方法,你需要等到它从API取数据。当您使用 StatefulWidget
时,您可以在从 API.
获取数据时显示着陆指示
如果它在 Column
小部件内,
if (user.isEmpty) Text("fetching data")
else LoadDataWidget(),
你也可以使用三元运算符。
Map user = {};
//Return a user from the function
Future<Map<String, dynamic>> getUser(String idProfile) async {
final response = await ac.getItem("/v2/users/:0", [idProfile]);
if (response.statusCode >= 200 && response.statusCode < 300) {
user = json.decode(response.body) as Map<String, dynamic>;
return user
}
else {
throw Exception();
}
}
// Set the user value in initstate
@override
void initState() {
super.initState();
user = getUser(getCurrentUser());
print(user);
}
Map user = {};
Future<void> getUser(String idProfile) async {
final response = await ac.getItem("/v2/users/:0", [idProfile]);
if (response.statusCode >= 200 && response.statusCode < 300) {
setState(() {
user = json.decode(response.body);
print(user);
});
}
}
@override
void initState() {
super.initState();
getUser(getCurrentUser());
print(user);
}
第一次打印时,它 returns 我是用户。但是,在第二个没有。我需要获取用户信息。我该怎么做?
getUser
是未来的方法,你需要等到它从API取数据。当您使用 StatefulWidget
时,您可以在从 API.
如果它在 Column
小部件内,
if (user.isEmpty) Text("fetching data")
else LoadDataWidget(),
你也可以使用三元运算符。
Map user = {};
//Return a user from the function
Future<Map<String, dynamic>> getUser(String idProfile) async {
final response = await ac.getItem("/v2/users/:0", [idProfile]);
if (response.statusCode >= 200 && response.statusCode < 300) {
user = json.decode(response.body) as Map<String, dynamic>;
return user
}
else {
throw Exception();
}
}
// Set the user value in initstate
@override
void initState() {
super.initState();
user = getUser(getCurrentUser());
print(user);
}