Рецепты

Общая 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 подходит для случая, когда каждому вызывающему коду действительно нужен отдельный объект.

ARKTELOS

Инженерные системы для программного обеспечения, которое обязано выдерживать нагрузку.