我正在尝试将salt的值返回给我的函数,但是我所得到的都是真实的。
function getUserSalt(client, username) {
let salt = client.HGET(username, "salt", function (error, result){
if(error) throw error;
return result;
})
return salt;
}
答案 0 :(得分:1)
您使用的回调不正确。
function getUserSalt(client, username, callback) {
return client.HGET(username, "salt", callback);
}
现在,它可以与回调一起使用,它将第一个参数接受错误,第二个参数则接受salt。
或者,您可以按以下说明使用承诺:https://github.com/NodeRedis/node_redis#promises
示例为:
const {promisify} = require('util');
const getUserSaltAsync = promisify(getUserSalt);
getUserSaltAsync(client, "some_username").then(salt => {console.log(salt);});
当然,您还需要以某种方式处理承诺中的错误。
答案 1 :(得分:0)
import redisClient from "../config/redisConfig";
import util from "util";
let hgetall = util.promisify(redisClient.hgetall).bind(redisClient);
await hgetall("key") // This way you will be getting the value instead of true