FlutterDocs
Home › Guides › How to Run Code After Time of Delay in Flutter

How to Run Code After Time of Delay in Flutter

Restored from an archived snapshot captured 2021-06-22. Examples may refer to earlier Flutter versions.

While building an app, you may need to execute code after some time delay. In this example, we are going to show you the way to run dart code after some second, minute, hour delay. See the example below for more details after the Future task.

Execute Code After 5 Seconds:

Future.delayed(Duration(seconds: 5), (){
      print("Executed after 5 seconds");
});

Execute Code After 2 Minutes:

Future.delayed(Duration(minutes: 2), (){
    print("Executed after 2 minutes");
});

Execute Code After 1 minute 4 seconds:

Future.delayed(Duration(minutes: 1, seconds: 4), (){
      print("Executed after 1 minute 4 seconds");
});

You can add more attributes in Duration() class, such as hours, day, milliseconds, microseconds.

Full Flutter Code Example:

import 'package:flutter/material.dart';
void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget{
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
        title: "Test App",
        home: Scaffold(
        appBar: AppBar(title:Text("Execute Code After Delay")),
        body: Container(
          padding: EdgeInsets.all(20),
          alignment: Alignment.center, 
          child: Column(
             children: [
                 ElevatedButton( 
                    child: Text("Execute Code After 5 Seconds"),
                    onPressed: (){
                      Future.delayed(Duration(seconds: 5), (){
                         print("Executed after 5 seconds");
                      });
                    },
                 ),

                 ElevatedButton( 
                    child: Text("Execute Code After 2 Minutes"),
                    onPressed: (){
                      Future.delayed(Duration(minutes: 2), (){
                         print("Executed after 2 minutes");
                      });
                    },
                 ),

                 ElevatedButton( 
                    child: Text("Execute Code After 1 Minute 4 seconds"),
                    onPressed: (){
                      Future.delayed(Duration(minutes: 1, seconds: 4), (){
                         print("Executed after 1 minute 4 seconds");
                      });
                    },
                 )
             ],
          ),
        )
      )
    );
  }
}

Output Screenshot:

[Screenshot/image absent from the archive]

In this way, you can execute code after a time delay in Flutter App.