如何在快递.js中呈现 Redis 记录
How to render redis records in express.js?
我是node.js和express.js的新手。我知道这有点傻,但我真的不知道如何解决这个问题。希望有人可以帮助我。
我在 Redis 中存储了一些信息。
redis 127.0.0.1:6379> hgetall "store1"
1) "apple"
2) "10"
3) "banana"
4) "15"
5) "pear"
6) "20"
7) "name"
8) "A Street"
redis 127.0.0.1:6379> hgetall "store2"
1) "apple"
2) "30"
3) "banana"
4) "40"
5) "pear"
6) "50"
7) "name"
8) "B Street"
我想在表格中显示这些信息。使用 express.js,我创建了以下路由文件。
路线/报告.js
var redis = require('redis'),
redisclient = redis.createClient();
exports.index = function(req, res){
redisclient.on("error", function (err) {
console.log("Error " + err);
});
var reports = [];
redisclient.keys("*", function(err, stores) {
for (var store in stores) {
redisclient.hgetall(store, function(err, figures) {
reports.push(figures);
});
}
});
res.render('report', { title: 'Store Report', reports: reports });
};
以及以下jade
视图文件。
视图/报告.翡翠
h1= title
table(class="table table-striped table-condensed")
thead
tr
th store
th apple
th banana
th pear
tbody
- each report in reports
!=partial('partials/record', {store:record.name, apple:record.apple, banana:record.banana, pear:record.pear})
views/parts/record.jade
tr
td= store
td= apple
td= banana
td= pear
当我打开localhost:3000/report
时,我得到的表结构没有内容。
我知道 redis 调用是异步的。report.js
文件在 redis 返回任何结果之前呈现report.jade
。
有人可以告诉我如何解决这个问题吗?
谢谢!
尝试使用异步模块,执行回调以在所有 IO 操作完成后呈现结果。
异步自述文件中的代码示例:
async.parallel([
function(){ ... },
function(){ ... }
], callback);
相关文章:
- 使用Dnamics CRM 2011中的JavaScript读取子网格的所有记录,而不考虑活动页面
- AngularJs对所有页面中的所有记录进行排序
- 有没有一种方法可以在控制台关闭的情况下让console.log()在IE中记录消息
- window.location替换并传递URL历史记录条目中的变量
- Javascript历史记录转换为php行
- JavaScript,PHP-用JavaScript将多个数据库记录发送到变量或表
- 猫鼬在特定记录中查找嵌套记录
- 浏览器何时记录历史记录
- 将一个表的id与另一个表中的user_id进行匹配,以获取mysql中的记录
- 更新成员数据模型中的记录列表
- 如何使用提交按钮搜索表中的记录
- 正在OrientDB中嵌入函数中的记录
- 使用Rails 3中的AJAX删除记录
- 用javascript记录传递给回调的参数的约定是什么
- 在页面上记录数据并实现pushstate()的最佳方式
- 输入类型按钮返回历史记录并返回顶部
- 我怎么能把一个错误当作未捕获的错误来记录呢
- HTML5历史记录-返回上一个完整页面按钮
- 如何在快递.js中呈现 Redis 记录
- 如何在Node.js中使用Lua Script将多条记录插入Redis Hash