将redis hget值存储到nodejs中的变量中

时间:2017-11-19 18:27:06

标签: javascript node.js redis

const redis = require('redis');
var client = redis.createClient();

client.on('error', function(err){
  console.log('Something went wrong ', err)
});


var getResponse = (key, field) =>{
 client.hget(key,field, function(err,reply){
    if(!err) return reply; 
    else {
    console.log(err);
    }
  });
};

var s = getResponse("employee","b");
console.log(s);

所以当输出显示 undefined 时。我究竟做错了什么?如何将返回值存储到s?

1 个答案:

答案 0 :(得分:0)

您可以使用以下回调:

var getResponse = (key, field, success, error) =>{
    client.hget(key,field, function(err,reply){
        if(!err) {
           success(reply);
         }
       else {
          error(err);
        }
   });
};

getResponse("employee","b",function success(reply){
    //here you get the reply
}, function error(err) {
        //error
});

如果您使用的是Node 6或更高版本,则可以使用promise或async await。您可以在以下链接中找到更多详细信息:http://exploringjs.com/es6/ch_promises.html