1 like
·
309 reads
1 comment
·Jun 26, 2024
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
·