1
0
mirror of https://github.com/redis/node-redis.git synced 2025-08-06 02:15:48 +03:00

handling of errors on multi, now returns 'err' array type

This commit is contained in:
Thanasis Polychronakis
2013-04-18 22:25:58 +03:00
parent c7633bf738
commit ed57dcd9d5
2 changed files with 14 additions and 9 deletions

View File

@@ -1011,7 +1011,7 @@ Multi.prototype.HMSET = Multi.prototype.hmset;
Multi.prototype.exec = function (callback) {
var self = this;
var errors = [];
// drain queue, callback will catch "QUEUED" or error
// TODO - get rid of all of these anonymous functions which are elegant but slow
this.queue.forEach(function (args, index) {
@@ -1037,12 +1037,7 @@ Multi.prototype.exec = function (callback) {
if (typeof cur[cur.length - 1] === "function") {
cur[cur.length - 1](err);
} else {
if (callback) {
callback(new Error(err));
return;
} else {
throw new Error(err);
}
errors.push(new Error(err));
}
self.queue.splice(index, 1);
}
@@ -1053,7 +1048,8 @@ Multi.prototype.exec = function (callback) {
return this._client.send_command("EXEC", [], function (err, replies) {
if (err) {
if (callback) {
callback(new Error(err));
errors.push(new Error(err));
callback(errors);
return;
} else {
throw new Error(err);