initAll static method
Implementation
static Future<void> initAll(
FExecutionContext executionContext,
Iterable<FInitable> instances,
) async {
final List<FInitable> intializedInstances = [];
try {
for (final instance in instances) {
await instance.init(executionContext);
intializedInstances.add(instance);
}
} catch (initEx) {
final List<FException> disposeExs = [];
for (final intializedInstance in intializedInstances.reversed) {
try {
await intializedInstance.dispose();
} catch (disposeEx) {
disposeExs.add(FException.wrapIfNeeded(disposeEx));
}
if (disposeExs.isNotEmpty) {
throw FExceptionAggregate([
FException.wrapIfNeeded(initEx),
...disposeExs,
]);
}
}
rethrow;
}
}