What does ‘yield’ keyword do in flutter?

yield adds a value to the output stream of the surrounding async* function. It’s like return, but doesn’t terminate the function.

See https://dart.dev/guides/language/language-tour#generators

Stream asynchronousNaturalsTo(n) async* {
  int k = 0;
  while (k < n) yield k++;
}

When the yield statement executes, it adds the result of evaluating its expression to the stream. It doesn’t necessarily suspend (though in the current implementations it does).

Leave a Comment