2017-11-21 4 views
0

私はredis npmモジュールを使用しています。コールバックにいくつかのデータ(forループのインデックスなど)を渡したいので、ローカルデータをマップできます関数呼び出し)を応答データに変換します。以下のような:ノードredisコールバックへのデータの受け渡し

redisClient.get('a', [data1, data2], function(err, res, data1, data2){ 

/*more code */ 
}) 

私は、docの上に行ってきたが、それを言及する何かを見つけることができませんでした。

+0

コールバック内で配列を定義してアクセスできないのはなぜですか? – kgangadhar

+0

私はできますが、現在のコールバック実行アクセスの配列のどの項目を知ることができますか? – Andy

答えて

0

私はあなたがきれいなので代わりに約束を使用することをお勧めします。

以下は、私は単に機能で要求をラップすることになった

const Promise = require('bluebird') 
const redis = require('redis'); 
Promise.promisifyAll(redis.RedisClient.prototype); 
Promise.promisifyAll(redis.Multi.prototype); 

const client = redis.createClient() // U can put your redis credentials here. 

async function someFunc() { 
    try { 
    for (const i = 0; i < 10; i++) { 
     const result = await client.getAsync() 
     // do stuffs with your result 
    } 
    } 
    catch (error) { 
    // handle your error 
    } 
} 
0
function redisGet(_data1, _data2, callback){ 
    redisClient.get('a', function(err, res){ 
    callback(err, res, _data1, _data2) 
    }) 
} 

redisGet(data1, data2, function(err, res, data1, data2){ 

    /*more code*/ 
}) 

短い例です。

関連する問題