Оценок пока нет Ассинхронность во Flutter

Flutter работает в однопоточном режиме, в данном режиме программа выполняется без возможности ветвления потока и если требуется параллельное выполнение какой-либо операции, то испольхуется ассинхронность. Во Flutter ассинхронность можно организовать двумя способами:

  • при помощи класса Future — старый способ
  • при помощи ключевых слов async/await — новый способ

Давайте ниже разберем каждый способ по отдельности.

Определение ассинхронности при помощи класса Future

Ключевым классом для создания ассинхронностей во Flutter является Future. Чтобы определить ассинхронность необходимо объявить переменную с возвращаемым типом

void doWork(){
  print('Начало программы');
  Future<String> future = getFuture();
  future.then((m){
    print(m);
  });
}
Future<String> getFuture(){
  return Future.delayed(Duration(seconds:2), ()=>'Hello From Duration');
}
void main(){
  doWork();
  print('Конец программы');
}

результат выполнения данной программы будет такой

Начало программы
Конец программы
Hello From Duration

Как мы видим, программа, программа сразу выполняет и завершает однопоточный снхронный код и только после задержки в 2 секунды в конце завершается исполнение ассинхронного кода.

Пожалуйста, оцените материал

WebSofter

Web - технологии