nodejs redis 获取数据 同步返回

题目描述

nodejs redis 获取数据 同步返回

题目来源及自己的思路

在获取redis 保存的数据时 同步返回获取到的数据

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)

/**
 * 查询string类型的数据
 * @param key 键
 * @param callBack(err,result)
 */
db.get = function(key, callback){
    client.get(key, function(err,result){
        if (err) {
            console.log(err);
            callback(err,null)
            return;
        }

        callback(null,result);
    });
}
    //设置数据
    Redis.set("GetColumnList","是缓存测试一下",3600,redis.print);
    //获取数据
    var data=  Redis.get("GetColumnList",redis.print);
    if (data!=null && data!=undefined && data!="") {
        console.log(data);
        res.send(data);
    }else {
        console.log(data);
        res.send("");
    }

你期待的结果是什么?实际看到的错误信息又是什么?

同步返回数据

阅读 10.4k
1 个回答

redis获取内容是异步的操作,一般会有callback参数提供,你需要在回调中获取内容。或者直接用 async/await 去实现

// async + await 人脑逻辑
async function test() {
  await Redis.set('something', '测试内容');

  const data = await Redis.get('something');

  // 一定有值
  console.log(data);
}

参考koa2

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题