[fix] only reverse keys for "get" action to be safe.

master
Christopher Jeffrey 2014-02-12 12:31:55 -06:00
parent 999c6fbc6e
commit 8105c761ad
1 changed files with 8 additions and 4 deletions

View File

@ -507,7 +507,12 @@ Provider.prototype._execute = function (action, syncLength /* [arguments] */) {
destructive = ['set', 'clear', 'merge', 'reset'].indexOf(action) !== -1,
self = this,
response,
mergeObjs = [];
mergeObjs = [],
keys = Object.keys(this.stores);
if (action === 'get') {
keys = keys.reverse();
}
function runAction (name, next) {
var store = self.stores[name];
@ -522,13 +527,12 @@ Provider.prototype._execute = function (action, syncLength /* [arguments] */) {
}
if (callback) {
return async.forEach(Object.keys(this.stores).reverse(), runAction, function (err) {
return async.forEach(keys, runAction, function (err) {
return err ? callback(err) : callback();
});
}
Object.keys(this.stores).reverse().forEach(function (name) {
keys.forEach(function (name) {
if (typeof response === 'undefined') {
var store = self.stores[name];