Node-redis: Обратный звонок для xadd

Созданный на 1 нояб. 2019  ·  8Комментарии  ·  Источник: NodeRedis/node-redis

Привет,

Есть ли способ сделать обратный вызов для xadd, например:

redisClient.xadd(streamName, '*',....,function(err,resp){
console.log(resp);
});

Я пробовал, и у меня были ошибки.

Спасибо!
Майк

question

Все 8 Комментарий

@ mikeslim7 это существует. Не могли бы вы опубликовать настоящий код (вместо .... ), поскольку я думаю, что это может быть небольшая ошибка.

У меня ошибка чем звонить

redisClient.xadd('mystream', '*', 'field1', 'm1', function (err) {
});

{ ReplyError: ERR unknown command `xadd`, with args beginning with: `mystream`, `*`, `field1`, `m1`, 
    at parseError (/home/work/node_modules/redis-parser/lib/parser.js:193:12)
    at parseType (/home/work/node_modules/redis-parser/lib/parser.js:303:14)
  command: 'XADD',
  args: [ 'mystream', '*', 'field1', 'm1' ],
  code: 'ERR' }

@protectedvar У вас есть версия Redis, которая не поддерживает потоки (не имеет отношения к этой проблеме).

@stockholmux Поддерживает ли v2.8.0 обратный вызов xadd?

@gcobcqwe Да.

У меня такая же проблема с последней версией node_redis (2.8.0?). Я также попытался напрямую использовать основную ветку с той же ошибкой.

Следующий код не запускается.

const rdb = redis.createClient("redis://localhost:6379");
const send = promisify(rdb.sendCommand).bind(rdb);
const n = {forename: "foo", lastname: "bar"};
send(`XADD nameStream * ${JSON.stringify(n)}`).catch(e => console.error(e));

ReplyError: ERR неизвестная команда xadd namestream * {"forename":"foo","lastname":"bar"} , аргументы которой начинаются с:
в parseError (/Users/hendrik/git/ownprojects/databroker/node_modules/redis-parser/lib/parser.js:193:12)
в parseType (/Users/hendrik/git/ownprojects/databroker/node_modules/redis-parser/lib/parser.js:303:14) {
команда: 'XADD NAMESTREAM * {"FORENAME": "FOO", "LASTNAME": "BAR"}',
код: 'ERR'
}

Привет, @hbel. Я думаю, ваш формат неправильный.
XADD mystream * field1 value1 field2 value2 field3 value3
https://redis.io/commands/xadd

Опубликованная здесь ошибка указывает на то, что ошибка пришла непосредственно с сервера Redis, а не от клиента. Таким образом, я закрываю этот вопрос.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги

Смежные вопросы

strumwolf picture strumwolf  ·  4Комментарии

aletorrado picture aletorrado  ·  6Комментарии

Mickael-van-der-Beek picture Mickael-van-der-Beek  ·  6Комментарии

shmendo picture shmendo  ·  6Комментарии

Stono picture Stono  ·  6Комментарии