Flutter 在flatter中每1分钟发出一次定时http.get请求的最简单方法是什么?
我希望这段代码每1分钟调用一次Flutter 在flatter中每1分钟发出一次定时http.get请求的最简单方法是什么?,flutter,dart,Flutter,Dart,我希望这段代码每1分钟调用一次 var response = await http.get(url) 尝试: Timer.periodic(Duration(minutes: 1), (timer) { response = await http.get(url); }); 但是我想到: 错误:“await”只能在“async”或“async*”方法中使用。 response=wait http.get(url) 我试图在其中实现这些代码的函数与Future类型是异步的。
var response = await http.get(url)
尝试:
Timer.periodic(Duration(minutes: 1), (timer) {
response = await http.get(url);
});
但是我想到:
错误:“await”只能在“async”或“async*”方法中使用。
response=wait http.get(url)
我试图在其中实现这些代码的函数与Future类型是异步的。有两种解决方案。请将函数转换为异步,如下所示:
Timer.periodic(Duration(minutes: 1), (timer) async{
response = await http.get(url);
});
Timer.periodic(Duration(minutes: 1), (timer) {
http.get(url).then((result){
response = result;
});
});
或者,在以后的通话中使用then,如下所示:
Timer.periodic(Duration(minutes: 1), (timer) async{
response = await http.get(url);
});
Timer.periodic(Duration(minutes: 1), (timer) {
http.get(url).then((result){
response = result;
});
});
您需要删除第二个代码中的
wait
。效果非常好。另一个查询,当我在此计时器中添加DateTime.now()时,它每次打印空值而不是时间戳。@恩佐,谢谢,这是一个键入错误。@theguitarfreak,你能显示代码块吗?对不起,我的错,它工作正常。尽管命令的第一次执行在1分钟后开始。如何调用它以在运行时立即执行,然后每1分钟执行一次?