如何在颤动中进入表单按钮 OnPressed()

时间:2021-05-13 16:36:52

标签: flutter http dart flutter-web

我想在表单的 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 来制作获取和发布,但它令人困惑。如果有人可以解释它是如何工作的。

1 个答案:

答案 0 :(得分:0)

由于您的 getItems() 函数是未来,您需要在打印之前等待响应。这也意味着您的 onPressed 函数需要使用“async”关键字:

onPressed: () async {
      if (_formKey.currentState.validate()) {
        futureString = await resource.MyHttpService().getItems();
        print(futureString);
    }

您可以阅读有关 async/await here 的更多信息。