Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var fail = true;
- int sheep() {
- if (fail) {
- fail = false;
- throw Exception("boom!");
- }
- return 1;
- }
- Future<dynamic> retry(Function f, {Duration retryDelay, int numberOfRetries}) {
- try {
- return Future.value(f.call());
- } catch (_) {
- if (numberOfRetries > 0) {
- return Future.delayed(
- retryDelay, () => retry(f, numberOfRetries: numberOfRetries - 1));
- } else {
- rethrow;
- }
- }
- }
- void main() async {
- print(await retry(() => sheep(),
- retryDelay: Duration(seconds: 1), numberOfRetries: 1));
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement