Usare i microtask in Dart e Flutter

Mattepuffo's logo
Usare i microtask in Dart e Flutter

Usare i microtask in Dart e Flutter

I microtask in Dart sono dei Future che però hanno priorità su tutto in termini di esecuzione.

Quindi anche su altri Future.

Sono molto comodi quando dobbiamo svolgere delle attività il prima possibile.

Ma sono pensati per eseguire piccole operazioni, e soprattutto non in continuazione.

Il troppo uso potrebbe portare a bug o blocchi di memoria; quindi usateli con attenzione.

Qui sotto un esempio basico:

void main() {
  print('INIZIO');

  Future(() {
    print('PRIMO');
  });

  Future(() {
    print('SECONDO');
  });

  Future.microtask(() {
    print('MICRO');
  });

  print('FINE');
}

L'output sarà il seguente:

INIZIO
FINE
MICRO
PRIMO
SECONDO

E se ne abbiamo due?

void main() {
  print('INIZIO');

  Future(() {
    print('PRIMO');
  });

  Future(() {
    print('SECONDO');
  });

  Future.microtask(() {
    print('MICRO 1');
  });

  Future.microtask(() {
    print('MICRO 2');
  });

  print('FINE');
}

L'output sarà:

INIZIO
FINE
MICRO 1
MICRO 2
PRIMO
SECONDO

Quindi sono abbastanza intelligenti da essere eseguiti prima di altri Future, ma da rispettare l'ordine di chiamata tra di loro.

Enjoy!


Condividi

Commentami!