Skip to content

CacheMap.get calls should await the promised valueΒ #319

@gabidi

Description

@gabidi

dataloader/src/index.js

Lines 88 to 97 in 015a94c

var cachedPromise = cacheMap.get(cacheKey);
if (cachedPromise) {
var cacheHits = batch.cacheHits || (batch.cacheHits = []);
return new Promise(resolve => {
cacheHits.push(() => {
resolve(cachedPromise);
});
});
}
}

Seems like this prevents the use of async calls to centralized caches in it's current implementation since the returned promise will be 'Truthy' even if it resolves with a cache miss (null, undefined).

Wondering if there is a design reason for this, or a PR is welcome ?

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions