Asynchrony support

Dart библиотеки все асинхронные, все обернуто в Future и Stream объекты.

Future<String> lookUpVersion() async => '1.0.0';

await lookUpVersion();

Future<void> checkVersion() async {
  var version = await lookUpVersion();
  // Do something with version
}

Handling Streams

Есть два способа получить значения из Stream:

  • Use async and an asynchronous for loop (await for).

  • Use the Stream API, as described in the library tour.

await for использовать только в том случае, если мы хотим дождаться все результаты из Stream. Во многих случаях это лучше не использовать: например, в UI Stream бесконечен.

await for (varOrType identifier in expression) {
  // Executes each time the stream emits a value.
}

For more information about asynchronous programming, in general, see the dart:async section of the library tour.

Last updated