In JavaScript, I could constantly fetch data without an explicit request from the user by calling a function fetchData()
every five seconds using setInterval(function() { fetchData() }, 5000);
and this is an incredibly useful tool for me. Is there a similar equivalent in Flutter?
Asked
Active
Viewed 7,063 times
4
-
2Possible duplicate of [How do I run a reoccurring function, in Dart?](https://stackoverflow.com/questions/14946012/how-do-i-run-a-reoccurring-function-in-dart) – Saikrishna Rajaraman Jun 24 '18 at 04:17
-
1An answer below has provided [this link](https://dev.to/nitishk72/understanding-streams-in-flutter-dart-2pb8); I am preserving it here in case it is deleted. – halfer Jun 01 '19 at 08:39
-
1For flutter you can try with Stream and Stream Builder. I think this post will help you a lot. https://dev.to/nitishk72/understanding-streams-in-flutter-dart-2pb8 – Ye Yint Jun 01 '19 at 06:54
2 Answers
7
This can be achieved by something like this.
import 'dart:async';
main() {
const fiveSeconds = const Duration(seconds: 5);
// _fetchData() is your function to fetch data
Timer.periodic(fiveSeconds, (Timer t) => _fetchData());
}

Community
- 1
- 1

Jaswant Singh
- 9,900
- 8
- 29
- 50
0
Timer() and Timer.periodic() work the same way. They take duration as a parameter and an optional callback function.
Timer(const Duration(seconds: 5), () {
// these lines would be executed every 5s.
});

Shreya Tabjul
- 36
- 2