はじめに
入道雲サーチアプリを作成する中で、現在の情報が欲しいため定期的にapiを取得して画面に表示させたいと考えました。そこで調べたところTimerというクラスがあることを知り、使ってみたところ上手く行ったため、ここに記そうと思いました。
Timerとは
指定した時間が経過した後に、一度だけ、または繰り返し特定の処理を実行するために使用する。
今回使用したコード
import 'dart:async';
@override
void initState() {
//ここから
Timer.periodic(
const Duration(seconds: 5),
(Timer timer){
fetchWeatherForCities();
},
);
//ここまで
super.initState();
}
解説
import 'dart:async';
Timerはdart:async
ライブラリで定義されているクラスのため、これをインポートする必要があります。
Timer.periodic(
const Duration(seconds: 5),
Timer.periodic
:繰り返し起動するTimerを使用するときに使う。
const Duration(seconds: 5)
:5秒に一度実行する。
(Timer timer){
fetchWeatherForCities();
},
);
fetchWeatherForCities();
:ここに動作させたい処理(今回はメソッドの呼び出し)をかく。