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