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?
答案 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