redis.js get 返回 true 而不是值
redis.js get is returning true instead of the value
我正在尝试 return 盐值对我的函数的影响,但我得到的都是真的。
function getUserSalt(client, username) {
let salt = client.HGET(username, "salt", function (error, result){
if(error) throw error;
return result;
})
return salt;
}
您使用的回调不正确。
function getUserSalt(client, username, callback) {
return client.HGET(username, "salt", callback);
}
现在,这可以与回调一起使用,它将接收错误作为第一个参数,盐作为第二个参数。
或者,您可以按照此处所述使用承诺:https://github.com/NodeRedis/node_redis#promises
示例为:
const {promisify} = require('util');
const getUserSaltAsync = promisify(getUserSalt);
getUserSaltAsync(client, "some_username").then(salt => {console.log(salt);});
当然,您还需要以某种方式处理来自 promise 的错误。
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
我正在尝试 return 盐值对我的函数的影响,但我得到的都是真的。
function getUserSalt(client, username) {
let salt = client.HGET(username, "salt", function (error, result){
if(error) throw error;
return result;
})
return salt;
}
您使用的回调不正确。
function getUserSalt(client, username, callback) {
return client.HGET(username, "salt", callback);
}
现在,这可以与回调一起使用,它将接收错误作为第一个参数,盐作为第二个参数。
或者,您可以按照此处所述使用承诺:https://github.com/NodeRedis/node_redis#promises
示例为:
const {promisify} = require('util');
const getUserSaltAsync = promisify(getUserSalt);
getUserSaltAsync(client, "some_username").then(salt => {console.log(salt);});
当然,您还需要以某种方式处理来自 promise 的错误。
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