Поток запаздывает Flutter

List<Book> listAllW; 

 void getAll() async {
    listAllW =await  BookSqlite.dar.getAllClients() ;
}
//------ Один и тот же код
  void getAll() async =>
    listAllW =await  BookSqlite.dar.getAllClients() ;

Это код возвращения всех данных из таблицы SQL , используется sqflite. На Flutter пишу недавно, экспериментировал. В debug смотрел как все происходит и вышло так что при выполнении кода метод getAll() начинает выполнятся и данные получаю только в конце а нужны они мне в начале, он не ждет завершения выполнения метода и идет дальше, а я остаюсь без данных до самого конца.

getAll();     
List<Book> lisDb= listAllW;

и тут я остаюсь с пустым массивом потому-что listAllW = null

class BookSqlite {

 BookSqlite._();

  static final BookSqlite dar = BookSqlite._();

  Database db;

Future<List<Book>> getAllClients() async {
    final dar = await db;
    print("getAllClients");
    var res = await dar.query('ter');  
     List<Book> list =
        res.isNotEmpty ? res.map((c) => Book.fromMap(c)).toList() : [];
    print("getAllClients22");
    return list;
  }



Ответы (0 шт):