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?
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?
- 2 Possible duplicate of How do I run a reoccurring function, in Dart? – Saikrishna Rajaraman Commented Jun 24, 2018 at 4:17
- 1 For flutter you can try with Stream and Stream Builder. I think this post will help you a lot. dev.to/nitishk72/understanding-streams-in-flutter-dart-2pb8 – Ye Yint Commented Jun 1, 2019 at 6:54
- 1 An answer below has provided this link; I am preserving it here in case it is deleted. – halfer Commented Jun 1, 2019 at 8:39
2 Answers
Reset to default 7This 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());
}
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.
});