Node-redis: Olá, bem-vindo a 2020, podemos ter um conjunto redis assíncrono sem trazer o bluebird

Criado em 11 out. 2019  ·  10Comentários  ·  Fonte: NodeRedis/node-redis

Acho que podemos passar sem o pássaro azul agora.

Feature Request duplicate

Comentários muito úteis

Esta é uma maneira realmente não profissional de solicitar uma solicitação de recurso em uma biblioteca FOSS. Se você está tão consumido em ter acesso a esse recurso, por que não faz a coisa educada ou produtiva e abre um PR com a mudança que você acha que ajudará a comunidade, escreve seu próprio cliente redis ou trabalha com os mantenedores para fazer o acima. Abrir um problema sarcástico de uma linha em que você apenas reclama que as coisas não são como você acha que deveriam ser não é útil ou produtivo para a comunidade e reflete mal sobre você.

Todos 10 comentários

Ainda é 2019.

Parece não haver como ter definições digitadas do Redis em texto datilografado com Promises habilitadas (exceto criar arquivos de definição, é claro). Então, eu realmente espero que uma atualização apareça para isso :(

@xtianus79 Você sabe que pode usar util.promisify , certo?

É certo que você precisa fazer isso por comando e MULTI/EXEC é... uma sintaxe deselegante.

Esta é uma maneira realmente não profissional de solicitar uma solicitação de recurso em uma biblioteca FOSS. Se você está tão consumido em ter acesso a esse recurso, por que não faz a coisa educada ou produtiva e abre um PR com a mudança que você acha que ajudará a comunidade, escreve seu próprio cliente redis ou trabalha com os mantenedores para fazer o acima. Abrir um problema sarcástico de uma linha em que você apenas reclama que as coisas não são como você acha que deveriam ser não é útil ou produtivo para a comunidade e reflete mal sobre você.

@BobbieBarker era para ser engraçado sem intenção de prejudicar!
Também eu, o que você está dizendo se aplica a você também.

Isso está bem?

const { promisify } = require('util');
const redis = require('redis');

let client = new Proxy(redis.createClient(), {
    get: (target, propKey, receiver) => {
        let asyncKey = typeof propKey === 'string' && propKey.endsWith('Async') && propKey.slice(0, -5);
        if (asyncKey) {
            return promisify(Reflect.get(target, asyncKey, receiver)).bind(receiver);
        }
        return Reflect.get(target, propKey, receiver);
    }
});

// use
client.setAsync('string key', 'val').then(res => {
    console.log(res);
});

Obrigado @yi-huan, essa é uma boa solução, mas não é uma solução completa prometida

@xtianus79 @Innomalist Eu escrevi um cliente que pode ser o que você está procurando - ele envolve essa biblioteca (sua única dependência) e adiciona suporte a promessa e script: https://npmjs.com/package/handy-redis.

@mmkal faz clusters?

@BobbieBarker muito obrigado por suas palavras de consideração!

A questão principal é, de fato, que este projeto não é apoiado de forma alguma e isso permitiu muito pouca manutenção.

Estou fechando isso como duplicata do nº 864. Na verdade, trabalhei em um cliente baseado em promessas há algum tempo, mas o uso de promessas era mais lento naquele momento e, portanto, não o publiquei. Vou enviar o código mais tarde para uma ramificação de recurso.

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

Questões relacionadas

gpascale picture gpascale  ·  4Comentários

twappworld picture twappworld  ·  7Comentários

lemon707 picture lemon707  ·  3Comentários

Stono picture Stono  ·  6Comentários

Mickael-van-der-Beek picture Mickael-van-der-Beek  ·  6Comentários