Singleflight
A wrapper for de-duplicating in-flight requests
Singleflight allows you to simply wrap asynchronous functions of the form
function(key, callback)
where key is a single string argument and callback
can be a function of any signature.
Usage
var singleflight = ;var request = ; var wrappedget = ; ;;
will result in only one call to fetch https://www.example.com/cool.jpg
.
Useful applications include re-validation and re-population of caches, and any other de-duplication of longish running asynchronous tasks. Combines well with other async flow control tools like Promises and the async and vasync libraries.
Testing
npm test