Prevent multiple concurrent requests for packages

Fixes #38
Fixes #41
This commit is contained in:
MICHAEL JACKSON
2017-08-10 22:11:55 -07:00
parent cb8061f3e1
commit a485858381
9 changed files with 207 additions and 200 deletions

View File

@ -1,7 +1,7 @@
function createMutex(doWork) {
const mutex = {}
return function (key, callback) {
return function (key, payload, callback) {
if (mutex[key]) {
mutex[key].push(callback)
} else {
@ -9,7 +9,7 @@ function createMutex(doWork) {
delete mutex[key]
}, callback ]
doWork(key, function (error, value) {
doWork(payload, function (error, value) {
mutex[key].forEach(function (callback) {
callback(error, value)
})