getAsync<T extends Object> static method

Future<T> getAsync<T extends Object>({
  1. String? tag,
  2. String? factoryTag,
})

Implementation

static Future<T> getAsync<T extends Object>(
    {String? tag, String? factoryTag}) async {
  try {
    FGetItLogger.logGettingAsyncInstance<T>(tag: tag, factoryTag: factoryTag);

    return await GetIt.I.isReady<T>(instanceName: tag).then((_) {
      FGetItLogger.logAsyncInstanceReady<T>(
        tag: tag,
        factoryTag: factoryTag,
      );

      return get<T>(tag: tag, factoryTag: factoryTag);
    });
  } on AssertionError catch (e) {
    FGetItLogger.logErrorInGetAsyncInstance<T>(
      e.toString(),
      tag: tag,
      factoryTag: factoryTag,
    );
    throw Exception('${T.toString()} not found in injector}');
  }
}