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

Implement CLIENT REPLY ON|OFF|SKIP

This commit is contained in:
Ruben Bridgewater
2016-04-14 01:17:43 +02:00
parent 3038c9043d
commit 97ae78877b
5 changed files with 233 additions and 24 deletions

View File

@@ -90,9 +90,15 @@ function callbackOrEmit (self, callback, err, res) {
}
}
function replyInOrder (self, callback, err, res) {
// The offline queue has to be checked first, as there might be commands in both queues at the same time
var command_obj = self.offline_queue.peekBack() || self.command_queue.peekBack();
function replyInOrder (self, callback, err, res, queue) {
// If the queue is explicitly passed, use that, otherwise fall back to the offline queue first,
// as there might be commands in both queues at the same time
var command_obj;
if (queue) {
command_obj = queue.peekBack();
} else {
command_obj = self.offline_queue.peekBack() || self.command_queue.peekBack();
}
if (!command_obj) {
process.nextTick(function () {
callbackOrEmit(self, callback, err, res);