Рецепты
Общая async-инициализация
Async Lazy Singleton для одного ресурса, совместно ожидаемого параллельными запросами.
v0.1.0-dev.1Продвинутый уровеньark_di
Общая async-инициализация
dart
binder.bindAsyncLazySingleton<Database>(
(resolver) => Database.open(resolver.get<AppConfig>().databasePath),
dispose: (database) => database.close(),
);
Параллельные getAsync<Database>() ожидают один in-flight Future. Успешный результат сохраняется, а неуспешная попытка очищается для повторного запроса. Async Factory подходит для случая, когда каждому вызывающему коду действительно нужен отдельный объект.