call method
Future<Either<RepositoryError, Info> >
call({
- required covariant Params repositoryParams,
override
Overrides the repository call to apply deduplication.
Implementation
@override
Future<Either<RepositoryError, Info>> call({
required covariant Params repositoryParams,
}) async {
final completer = _deduplication[repositoryParams];
if (completer != null) {
return completer.future;
}
_deduplication[repositoryParams] = Completer();
final datasourceResponse = await super.call(
repositoryParams: repositoryParams,
);
_deduplication[repositoryParams]?.complete(datasourceResponse);
_deduplication.remove(repositoryParams);
return datasourceResponse;
}