Node-redis: Salut, bienvenue en 2020, pouvons-nous avoir un ensemble redis asynchrone sans faire appel à bluebird

Créé le 11 oct. 2019  ·  10Commentaires  ·  Source: NodeRedis/node-redis

Je pense qu'on pourrait se passer de l'oiseau bleu maintenant.

Feature Request duplicate

Commentaire le plus utile

C'est une façon vraiment peu professionnelle de demander une demande de fonctionnalité dans une bibliothèque FOSS. Si vous êtes tellement absorbé par l'accès à cette fonctionnalité, pourquoi ne faites-vous pas la chose polie ou productive et ouvrez un PR avec le changement qui, selon vous, aidera la communauté, écrivez votre propre client redis ou travaillez avec les mainteneurs faire ce qui précède. Ouvrir un numéro sarcastique d'une doublure où vous vous plaignez simplement que les choses ne sont pas comme vous pensez qu'elles devraient être n'est ni utile ni productif pour la communauté et cela vous donne une mauvaise image de vous-même.

Tous les 10 commentaires

Nous sommes toujours en 2019.

Il semble qu'il n'y ait aucun moyen d'avoir des définitions typées de Redis en tapuscrit avec Promises activé (sauf la création de fichiers de définition bien sûr). Donc j'espère vraiment qu'une mise à jour arrivera pour ça :(

@ xtianus79 Vous savez que vous pouvez utiliser util.promisify , n'est-ce pas ?

Certes, vous devez le faire sur une base par commande et MULTI/EXEC est... peu élégant du point de vue de la syntaxe.

C'est une façon vraiment peu professionnelle de demander une demande de fonctionnalité dans une bibliothèque FOSS. Si vous êtes tellement absorbé par l'accès à cette fonctionnalité, pourquoi ne faites-vous pas la chose polie ou productive et ouvrez un PR avec le changement qui, selon vous, aidera la communauté, écrivez votre propre client redis ou travaillez avec les mainteneurs faire ce qui précède. Ouvrir un numéro sarcastique d'une doublure où vous vous plaignez simplement que les choses ne sont pas comme vous pensez qu'elles devraient être n'est ni utile ni productif pour la communauté et cela vous donne une mauvaise image de vous-même.

@BobbieBarker c'était censé être drôle sans intention de mal !
Moi aussi, ce que tu dis s'applique aussi à toi.

Est-ce correct?

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);
});

Merci @yi-huan c'est une bonne solution mais ce n'est pas une solution complète basée sur la promesse

@xtianus79 @Innomalist J'ai écrit un client qui pourrait être ce que vous recherchez - il encapsule cette bibliothèque (sa seule dépendance) et ajoute la prise en charge de la promesse et du tapuscrit: https://npmjs.com/package/handy-redis.

@mmkal fait-il des clusters ?

@BobbieBarker merci beaucoup pour vos paroles réfléchies !

Le problème principal est en effet que ce projet n'est soutenu d'aucune façon et qu'il n'a permis que très peu de maintenance.

Je ferme ceci en double de #864. J'ai en fait travaillé sur un client basé sur des promesses il y a quelque temps, mais l'utilisation de promesses était plus lente à ce moment-là et je ne l'ai donc pas publiée. Je pousserai le code plus tard dans une branche de fonctionnalité.

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

Alchemystic picture Alchemystic  ·  6Commentaires

Atala picture Atala  ·  3Commentaires

strumwolf picture strumwolf  ·  4Commentaires

gpascale picture gpascale  ·  4Commentaires

Stono picture Stono  ·  6Commentaires