My FeedDiscussionsHashnode Enterprise
Sign in
Log inSign up
Learn more about Hashnode Headless CMSHashnode Headless CMS
Collaborate seamlessly with Hashnode Headless CMS for Enterprise.
Upgrade ✨Learn more
Jindřich Ivánek

1 like


258 reads

1 comment

Ruben Bartelink
Ruben Bartelink
Jun 26, 2024

Re your question about there being a simpler way of memoizing a Task and/or Async - it's not trivial, but Simple is not Easy either...

TaskCell, a helper in Equinox covers memoization of a Task, with expiration (and not caching failures):…

See the tests in the repo for the semantics

The helper is used a) internally in the Equinox caching system (not dissimilar to the stampede prevention in the .NET 9 IDistributedCache impl) b) as a standalone construct (e.g. it can be used to ensure you have a live token for some third party API given some validity period, with only a single update call regardless of how many callers trigger it etc)