guarantee asynchronous execution for batch reads and write queues
This commit is contained in:
@@ -8,6 +8,8 @@ If the result of IO or computation is requested while an identical request
|
||||
is already in progress, wait until the first one completes and provide its
|
||||
result to every routine that requested it.
|
||||
|
||||
Asynchrony is guaranteed.
|
||||
|
||||
## Usage
|
||||
|
||||
Provide:
|
||||
@@ -51,11 +53,12 @@ module.exports = function (/* task */) {
|
||||
var args = Array.prototype.slice.call(arguments);
|
||||
|
||||
//if (map[id] && map[id].length > 1) { console.log("BATCH-READ DID ITS JOB for [%s][%s]", task, id); }
|
||||
|
||||
map[id].forEach(function (h) {
|
||||
h.apply(null, args);
|
||||
setTimeout(function () {
|
||||
map[id].forEach(function (h) {
|
||||
h.apply(null, args);
|
||||
});
|
||||
delete map[id];
|
||||
});
|
||||
delete map[id];
|
||||
});
|
||||
};
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user