node如何在get('/')方法中执行两次查询并render两个数据到页面中?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

node如何在get('/')方法中执行两次查询并render两个数据到页面中?

2016-02-20 18:46:31 2717 1

一个页面,页面中有两个列表:可用陪聊和不可用陪聊,这两种数据分别存储在redis的peiliaos和upeiliaos两个List中,因为查询返回的数据只能在回调函数里处理,所以我只能查询一个列表中的数据,代码如下:

app.route('/').get(function (req, res, next) {
    redisDB.lrange("peiliaos", 0, -1, function (err, data) {
      if (err) {
        console.log('fail to get name' + err);
        redisDB.quit();
        return null;
      }
      if (data === null) {
        console.log('no data');
      }
 
      var peiliaos = [];
      for (var x in data) {
        var peiliao = JSON.parse(data[x]);
        peiliaos.push(peiliao);
      }
      var renderData = {
        title : '闷子聊天模拟器',
        peiliaos : peiliaos,
        testdata : 'this is test data'
      };
 
      res.render('index2', renderData);
    });
  });

想查不可用陪聊的时候,由于执行是异步的,导致可用陪聊的数据无法赋给外层的变量给后续的渲染逻辑,我不想把不可用陪聊的查询逻辑嵌套在可用陪聊的查询函数里,这样如果查询的数据变多,嵌套就太多了,请问有没有什么好的解决办法?

取消 提交回答
全部回答(1)
  • 落地花开啦
    2019-07-17 18:45:40

    做做修改

    redisDB.multi([
          ['lrange','peiliaos',0, -1],
          ['llen','uPeiliaos']
          ]).exec(function (err, replies) {
            if (err) {
              console.log(err);
              return false;
            }
           console.log('rep0:----->' + replies[0]);
           console.log('rep1:----->' + replies[1]);
        });
    0 0
相关问答

1

回答

请问下函数计算里怎么给文件添加执行权限?每次s deploy之后,项目里的二进制文件执行权限都被去掉

2022-08-08 19:23:24 128浏览量 回答数 1

1

回答

如何在不同设备上对上述业务页面在惯性滚动过程中进行 trace 的抓取?

2022-05-08 11:16:58 97浏览量 回答数 1

1

回答

如何在数据库中创建订单表order_contract?

2022-01-11 16:01:09 1016浏览量 回答数 1

1

回答

Django中HTTP_X_BENDER字符它是什么意思呢?

2021-11-17 16:46:10 96浏览量 回答数 1

1

回答

GDB查询没有问题,但是ORDER BY则会查询超时

2020-12-19 10:34:22 474浏览量 回答数 1

2

回答

我数据库SQL 30GB,大约4亿数据。配合php查询,什么环境比较好?

2017-07-21 18:04:57 2095浏览量 回答数 2

1

回答

页面js文件解析执行过程

2016-03-19 09:24:25 2131浏览量 回答数 1

1

回答

("SET NAMES 'UTF8'")执行错误

2016-02-07 17:03:32 2263浏览量 回答数 1

2

回答

nodejs版的加密库函数crypto在哪里?

2015-09-30 16:19:49 4125浏览量 回答数 2

5

回答

请问如何查看LNMP环境安装在哪个盘?数据在哪个盘?命令是什么?

2012-08-10 13:53:14 8365浏览量 回答数 5
+关注
落地花开啦
喜欢技术,喜欢努力的人
0
文章
7824
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载