Acho que podemos passar sem o pássaro azul agora.
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.
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ê.