Using redis with node.js (express)

2019-07-29 07:54发布

I am learning node.js (and express framework) & here is a basic newbie question about redis & node.js. How to pass redis data to templates? What should I correct in my script, so I could display the value of teststring in a template?

app.get('/', function(req, res){
  res.render('index', {
    test: redisclient.get("teststring"),
  });
});

Thanks in advance!

1条回答
放荡不羁爱自由
2楼-- · 2019-07-29 08:43

Since node.js modules (including the one for redis) tends to be non-blocking and asynchronous, they are returning results in callbacks. Try it this way (I also recommend to read this article regarding asynchronous code and callbacks):

app.get('/', function(req, res) {
  redisclient.get("teststring", function(error, response) {
    if(response) {
      res.render('index', {
        test: response,
      });
    } else {
      res.render('index', {
        test: error,
      });
    }
  });
});
查看更多
登录 后发表回答