Как извлечь данные с помощью функции асинхронного и ожидания в узле JS? - PullRequest
1 голос
/ 01 мая 2019

Я попытался реализовать механизм кэширования redis в узле js, используя mongodb. Я установил данные в cache.but я не могу получить данные в cache.how, как решить эту проблему.

cache.js

async function Get_Value(){
    let response = await client.get('products')
    console.log("_______________")
    console.log(response)

}

Я получил вывод: true

Исключенный вывод: данные json

как получить данные json с использованием метода get cache

1 Ответ

1 голос
/ 01 мая 2019

Redis не предоставляет полный адаптер асинхронного ожидания для node.js, поэтому обычно в качестве обходного пути люди обещают библиотеку.

const { promisify } = require('util');
const getAsync = promisify(client.get).bind(client);

async function getValue(){
    let response = await getAsync("products");
}

Другой подход к обещанию всей библиотеки redis, который вы можете использовать:

const redis = require('redis');
bluebird.promisifyAll(redis);

Теперь вы также сможете использовать методы, используя async/await.

...