Javascript 使用承诺重写Node.js中的Redis调用

Javascript 使用承诺重写Node.js中的Redis调用,javascript,node.js,redis,Javascript,Node.js,Redis,此代码失败。下面的代码在不使用承诺的情况下工作(如下所示)。我要修复的代码在上面 var Q = require('q'); Q.nfcall(client.get("time_clock", function (err, reply) { var time = reply.toString(); return time; })).then(function(time) { client.get("time_predicted", function (err, replier

此代码失败。下面的代码在不使用承诺的情况下工作(如下所示)。我要修复的代码在上面

var Q = require('q');
Q.nfcall(client.get("time_clock", function (err, reply) {
    var time = reply.toString();
    return time;
 })).then(function(time) {
 client.get("time_predicted", function (err, replier) {
    mom=replier.toString();
    res.render('time', {watch: time, moment: mom});
 })
 }).fail(function(err){
   console.log('Error.')})
 .done();
};

在第一个代码示例中,我需要更改什么才能使其正常工作?(注意:如果我能在最后或另一个“then”中调用res.render,那就更好了)。

我不会直接回答您的问题;但一个简单的解决方案是使用一个redis库,用于NodeJS,使用promises。

我很感激;这很有帮助。
client.get("time_clock", function (err, reply) {
    time=reply.toString();
    console.log("in here"+time); // Will print `OK`
client.get("time_predicted", function (err, replier) {
    mom=replier.toString();
    res.render('time', {watch: time, moment: mom});
});
});