fetchAllTokens method
Future<Map<ResourceKey, Result<ResourceToken> > >
fetchAllTokens(
- Iterable<
ResourceKey> keys
override
Eager all-token batch: dedups keys by full ResourceKey, starts
acquisition for EVERY key before awaiting any, and returns a total map
with exactly one terminal entry per requested key. Lazy first-call
acquisition is not permitted.
Implementation
@override
Future<Map<ResourceKey, Result<ResourceToken>>> fetchAllTokens(
Iterable<ResourceKey> keys,
) async {
fetchAllCount += 1;
final Map<ResourceKey, Result<ResourceToken>> snapshot = _current;
if (_cursor < batches.length - 1) {
_cursor += 1;
}
return <ResourceKey, Result<ResourceToken>>{
for (final ResourceKey key in keys)
key: snapshot[key] ?? await tokenFor(key),
};
}