Sign in
Log inSign up
Jindřich Ivánek

1 like

·

309 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): github.com/jet/equinox/blob/master/src/Equ…

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)

1
·