首页 > 解决方案 > 在 Flutter 中每 1 分钟发出一次定时 http.get 请求的最简单方法是什么?

问题描述

我希望每 1 分钟调用一次这段代码。

var response = await http.get(url)

试过:

Timer.periodic(Duration(minutes: 1), (timer) {
      response = await http.get(url);
    });

但提出:

错误:“await”只能用于“async”或“async*”方法。响应 = 等待 http.get(url);

我试图在其中实现这些代码的函数与 Future 类型是异步的。

标签: flutterdart

解决方案


有两种解决方案。请将函数转换为异步,如下所示:

Timer.periodic(Duration(minutes: 1), (timer) async{
      response = await http.get(url);
    });

或者,在以后的调用中使用 then ,如下所示:

Timer.periodic(Duration(minutes: 1), (timer) {
      http.get(url).then((result){
      response = result;
      });
    });

推荐阅读