【问题标题】:cannot get data from redis cache无法从redis缓存中获取数据
【发布时间】:2021-07-07 17:06:41
【问题描述】:

我正在从控制器文件调用 readData 函数以从缓存中获取数据。当我尝试在 readData 函数之后使用 someVal 时,我首先得到未定义,然后在回调响应之后它正在获取数据并且调用获取仍然处于未处理的承诺中拒绝状态。我希望 readData 函数之后的行仅在数据可用后执行。

import redis from 'redis'
const client = redis.createClient();

//cacheserive.ts
const readData = async (key,callback) =>{
try{
const res = await client.get(key)
if(res === null){
callback(new Error('failed to get data'));
}else{
callback(null,JSON.parse(res));
}
}catch(err){
    console.log(err)
}
}

//test.controller
let newObj = {};
let someVal;
readData("key",(_err,result) =>{
someVal = result.data
});
newObj[someval]= "1233"

【问题讨论】:

    标签: node.js typescript callback es6-promise node-redis


    【解决方案1】:

    您需要将控制台语句移动到readData 的回调中。

    这是在读取完成之前调用 console.log 的时间问题。

    【讨论】:

    • 你能解释一下吗
    猜你喜欢
    • 2019-03-27
    • 2017-08-31
    • 2017-07-27
    • 2021-04-12
    • 1970-01-01
    • 2018-04-03
    • 1970-01-01
    • 2016-09-11
    • 1970-01-01
    相关资源
    最近更新 更多