Node-redis: こんにちは2020年へようこそブルーバードを持ち込まずに非同期のredisセットを作成できますか

作成日 2019年10月11日  ·  10コメント  ·  ソース: NodeRedis/node-redis

ブルーバードがいなくてもできると思います。

Feature Request duplicate

最も参考になるコメント

これは、FOSSライブラリで機能リクエストを要求するための非常に専門的でない方法です。 この機能にアクセスすることに夢中になっている場合は、丁寧または生産的なことをして、コミュニティに役立つと思われる変更でPRを開くか、独自のRedisクライアントを作成するか、メンテナと協力してみませんか。上記を行うには。 物事があなたが思っているようになっていないと不平を言うだけの卑劣なワンライナーの問題を開くことは、コミュニティにとって役に立たず、生産的ではなく、それはあなた自身にあまり反映されません。

全てのコメント10件

まだ2019年です。

Promisesを有効にしたtypescriptでRedisの定義を入力する方法はないようです(もちろん定義ファイルを作成する場合を除きます)。 だから私は本当にこれのためのアップデートが来ることを願っています:(

@ xtianus79 util.promisify使用できることをご存知ですか?

確かに、コマンドごとにそれを行う必要があり、MULTI/EXECは...構文的にはエレガントではありません。

これは、FOSSライブラリで機能リクエストを要求するための非常に専門的でない方法です。 この機能にアクセスすることに夢中になっている場合は、丁寧または生産的なことをして、コミュニティに役立つと思われる変更でPRを開くか、独自のRedisクライアントを作成するか、メンテナと協力してみませんか。上記を行うには。 物事があなたが思っているようになっていないと不平を言うだけの卑劣なワンライナーの問題を開くことは、コミュニティにとって役に立たず、生産的ではなく、それはあなた自身にあまり反映されません。

@BobbieBarkerそれは面白いことを意図していて、害は意図されていませんでした!
また、私、あなたが言っていることはあなたにも当てはまります。

これで大丈夫ですか?

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

@ yi-huanに感謝します。これは優れたソリューションですが、完全に約束されたベースのソリューションではありません。

@ xtianus79 @Innomalist私はあなたが探しているものかもしれないクライアントを書きました-それはこのライブラリ(その唯一の依存関係)をラップし、promiseとtypescriptのサポートを追加します: https://npmjs.com/package/handy-redis。

@mmkalはクラスターを実行しますか?

@BobbieBarker言葉を考えてくれてありがとう!

主な問題は、このプロジェクトがまったくサポートされておらず、メンテナンスがほとんどできないことです。

#864の複製としてこれを閉じます。 私は実際にプロミスベースのクライアントでしばらく前に作業しましたが、その時点ではプロミスの使用が遅く、公開しませんでした。 後でコードを機能ブランチにプッシュします。

このページは役に立ちましたか?
0 / 5 - 0 評価