我想在表单的 onPressed
函数内进行 get 调用。
我有一项发布帖子并返回 response.body
的服务:
Future<String> getItems() async {
final response = await http.get(Uri.parse('$baseUrl/edicios'));
if (response.statusCode == 200) {
return response.body;
}
}
我们在 onPressed
中调用该函数:
onPressed: () {
if (_formKey.currentState.validate()) {
futureString = resource.MyHttpService().getItems();
print(futureString);
}
我已经阅读了 flutter doc 来制作获取和发布,但它令人困惑。如果有人可以解释它是如何工作的。
答案 0 :(得分:0)
由于您的 getItems() 函数是未来,您需要在打印之前等待响应。这也意味着您的 onPressed 函数需要使用“async”关键字:
onPressed: () async {
if (_formKey.currentState.validate()) {
futureString = await resource.MyHttpService().getItems();
print(futureString);
}
您可以阅读有关 async/await here 的更多信息。