Конструкторы в Dart не могут быть асинхронными.
Если вы хотите создать объект асинхронно, сделайте вместо него функцию stati c:
class DessertDataSource extends DataTableSource {
final List<Dessert> _desserts;
DessertDataSource._(this._desserts);
static Future<DessertDataSource> create() async {
var snapshot =
await Firestore.instance.collection("desserts").getDocuments();
return DessertDataSource._(
[for (var doc in snapshot.documents) Dessert.fromSnapshot(doc)]);
}
}
Затем вы можете вызвать его как await DessertDataSource.create()
.