【发布时间】: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