Node-redis: Devolución de llamada para xadd

Creado en 1 nov. 2019  ·  8Comentarios  ·  Fuente: NodeRedis/node-redis

Hola,

¿Hay alguna manera de tener una devolución de llamada para xadd algo como:

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

Lo intenté y tuve errores.

¡Gracias!
Miguel

question

Todos 8 comentarios

@ mikeslim7 esto existe. ¿Puede publicar código real (en lugar de .... ) ya que creo que podría ser solo un pequeño error?

Tengo un error que llamar

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 Tiene una versión de Redis que no admite transmisiones (no está relacionada con este problema).

@stockholmux ¿La v2.8.0 admite devolución de llamada xadd?

@gcobcqwe Sí.

Tengo el mismo problema con la última versión node_redis (2.8.0?). También intenté usar directamente la rama maestra, con el mismo error.

El siguiente código no se ejecuta.

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 comando desconocido xadd namestream * {"forename":"foo","lastname":"bar"} , con argumentos que comienzan con:
en parseError (/Users/hendrik/git/ownprojects/databroker/node_modules/redis-parser/lib/parser.js:193:12)
en 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'
}

Hola, @hbel. Creo que tu formato es incorrecto.
XADD mystream * field1 value1 field2 value2 field3 value3
https://redis.io/commands/xadd

El error publicado aquí indica que el error provino directamente del servidor Redis, no del cliente. Por tanto, cierro este tema.

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

Mickael-van-der-Beek picture Mickael-van-der-Beek  ·  6Comentarios

twappworld picture twappworld  ·  7Comentarios

abhaygarg picture abhaygarg  ·  5Comentarios

betimer picture betimer  ·  5Comentarios

Atala picture Atala  ·  3Comentarios