redis.js get возвращает значение true вместо значения - PullRequest
0 голосов
/ 12 января 2019

Я пытаюсь вернуть значение соли моей функции, но все, что я получаю, это правда.

function getUserSalt(client, username) {

    let salt = client.HGET(username, "salt", function (error, result){
        if(error) throw error;

        return result;
    })

    return salt;
}

1 Ответ

0 голосов
/ 12 января 2019

Вы используете обратные вызовы неправильно.

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);});

Конечно, вам также нужно как-то обрабатывать ошибки из обещаний.

...