Browse Source

Call back on set errors too.

feature/nested-cache-fetch-fix
Elliott Foster 11 years ago
parent
commit
8c82266887
  1. 16
      lib/caching.js

16
lib/caching.js

@ -48,27 +48,27 @@ var caching = function (args) {
work(function () { work(function () {
var work_args = Array.prototype.slice.call(arguments, 0); var work_args = Array.prototype.slice.call(arguments, 0);
if (work_args[0]) { // assume first arg is an error if (work_args[0]) { // assume first arg is an error
if (!self.ignoreCacheErrors) {
self.queues[key].forEach(function (done) { self.queues[key].forEach(function (done) {
done.apply(null, work_args); done.apply(null, work_args);
}); });
delete self.queues[key]; delete self.queues[key];
}
else {
cb(work_args[0]);
}
return; return;
} }
// Subsequently assume second arg is result. // Subsequently assume second arg is result.
self.store.set(key, work_args[1], function (err) { self.store.set(key, work_args[1], function (err) {
if (err && (!self.ignoreCacheErrors)) { if (err && (!self.ignoreCacheErrors)) {
return cb(err); self.queues[key].forEach(function (done) {
done.call(null, err);
});
} }
else if (!err) {
self.queues[key].forEach(function (done) { self.queues[key].forEach(function (done) {
done.apply(null, work_args); done.apply(null, work_args);
}); });
}
else {
return;
}
delete self.queues[key]; delete self.queues[key];
}); });

Loading…
Cancel
Save