189 votes

Comment exécuter du code après un certain délai dans Flutter?

Je voudrais exécuter une fonction après un certain délai après la construction de mon Widget. Quelle est la manière idiomatique de le faire en Flutter?

Ce que j'essaie d'accomplir: Je voudrais commencer avec un Widget FlutterLogo par défaut et ensuite changer sa propriété style après une certaine durée.

16voto

Ovidius Mazuru Points 238

(Ajout d'une réponse sur une ancienne question car c'est le résultat le plus haut sur Google)

J'ai essayé de générer un nouvel état dans le callback d'un bloc, et ça n'a pas fonctionné. J'ai essayé avec Timer et Future.delayed.

Cependant, ce qui a fonctionné était...

await Future.delayed(const Duration(milliseconds: 500));

yield newState;

Attendre un futur vide puis exécuter la fonction par la suite.

12voto

jitesh mohite Points 3119

Juste en ajoutant une description supplémentaire aux réponses ci-dessus

La fonctionnalité Timer fonctionne également avec la durée suivante :

const Durée(
      {int jours = 0,
      int heures = 0,
      int minutes = 0,
      int secondes = 0,
      int millisecondes = 0,
      int microsecondes = 0})

Exemple :

  Timer(Durée(secondes: 3), () {
    print("imprimer après chaque 3 secondes");
  });

0 votes

Hey Jitesh, by any chance you know how to solve this? stackoverflow.com/questions/68324422/…

10voto

S.R Keshav Points 832

Future.delayed(Duration(seconds: 3) , votre_fonction)

0 votes

La durée peut être ajoutée : Durée (secondes : 3) pour nouvel abeille

4voto

import 'dart:async';   
Timer minuterie;

void autoAppuyer(){
  minuterie = new Timer(const Duration(seconds:2),(){
    print("Cette ligne s'affichera après deux secondes");
 });
}

autoAppuyer();

4voto

Mohammad Hadi Points 101

Attendez Future.delayed (Durée (millisecondes : 1000));

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X