一个页面,页面中有两个列表:可用陪聊和不可用陪聊,这两种数据分别存储在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);
});
});
想查不可用陪聊的时候,由于执行是异步的,导致可用陪聊的数据无法赋给外层的变量给后续的渲染逻辑,我不想把不可用陪聊的查询逻辑嵌套在可用陪聊的查询函数里,这样如果查询的数据变多,嵌套就太多了,请问有没有什么好的解决办法?
做做修改
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]);
});
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。