Browse Source

better solution for #21. Thanks @aletorrado

feature/nested-cache-fetch-fix
Bryan Donovan 10 years ago
parent
commit
20092c3505
  1. 8
      lib/caching.js
  2. 8
      lib/multi_caching.js

8
lib/caching.js

@ -50,13 +50,13 @@ var caching = function(args) {
self.queues[key] = [{cb: cb, domain: process.domain}]; self.queues[key] = [{cb: cb, domain: process.domain}];
function fillCallbacks(err, data) { function fillCallbacks(err, data) {
self.queues[key].forEach(function(task) { var waiting = self.queues[key];
process.nextTick(function() { delete self.queues[key];
waiting.forEach(function(task) {
var taskDomain = task.domain || domain.create(); var taskDomain = task.domain || domain.create();
taskDomain.bind(task.cb)(err, data); taskDomain.bind(task.cb)(err, data);
}); });
});
delete self.queues[key];
} }
self.store.get(key, function(err, result) { self.store.get(key, function(err, result) {

8
lib/multi_caching.js

@ -78,13 +78,13 @@ var multi_caching = function(caches) {
self.queues[key] = [{cb: cb, domain: process.domain}]; self.queues[key] = [{cb: cb, domain: process.domain}];
function fillCallbacks(err, data) { function fillCallbacks(err, data) {
self.queues[key].forEach(function(task) { var waiting = self.queues[key];
process.nextTick(function() { delete self.queues[key];
waiting.forEach(function(task) {
var taskDomain = task.domain || domain.create(); var taskDomain = task.domain || domain.create();
taskDomain.bind(task.cb)(err, data); taskDomain.bind(task.cb)(err, data);
}); });
});
delete self.queues[key];
} }
get_from_highest_priority_cache(key, function(err, result, index) { get_from_highest_priority_cache(key, function(err, result, index) {

Loading…
Cancel
Save