Node-redis: Retorno de chamada para xadd

Criado em 1 nov. 2019  ·  8Comentários  ·  Fonte: NodeRedis/node-redis

Olá,

Existe uma maneira de ter um retorno de chamada para xadd algo como:

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

Eu tentei e tive erros.

Obrigado!
Mike

question

Todos 8 comentários

@ mikeslim7 isso existe. Você pode postar um código real (em vez de .... ), pois acho que pode ser apenas um pequeno erro.

Eu tenho um erro do que ligar

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 Você tem uma versão do Redis que não oferece suporte a streams (não relacionado a este problema).

@stockholmux A v2.8.0 suporta callback xadd?

@gcobcqwe Sim.

Eu tenho o mesmo problema com a última versão node_redis (2.8.0?). Também tentei usar diretamente o branch master, com lança o mesmo erro.

O código a seguir não é executado.

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 desconhecido comando xadd namestream * {"forename":"foo","lastname":"bar"} , com args começando com:
em parseError (/Users/hendrik/git/ownprojects/databroker/node_modules/redis-parser/lib/parser.js:193:12)
em parseType (/Users/hendrik/git/ownprojects/databroker/node_modules/redis-parser/lib/parser.js:303:14) {
comando: 'XADD NAMESTREAM * {"FORENAME": "FOO", "LASTNAME": "BAR"}',
código: 'ERR'
}

Ei, @hbel. Acho que seu formato está incorreto.
XADD mystream * field1 value1 field2 value2 field3 value3
https://redis.io/commands/xadd

O erro postado aqui indica que o erro veio diretamente do servidor Redis, não do cliente. Portanto, estou encerrando esta questão.

Esta página foi útil?
0 / 5 - 0 avaliações