redis放到路由中就不执行了

我想在访问test时存入redis,但是一直不能成功,如果把client提出来就会有,为什么

用的express

为什么下面不执行


var redis = require('redis');
var client = redis.createClient()
//  可以打印
client.on("ready",function(){
  console.log("client ready success")
})
//没有console
app.get('/test',function(req,res,next){
  // console.log(client)
  client.on("ready",function(){
    console.log("ready成功")
  })
})
阅读 2.8k
2 个回答

你已经在外面设置回调函数了,在内部就是重复设置了,直接使用就是

当一个连接创建的时候,就会触发 ready,当访问 /test 时候,ready 事件其实已经出发了,再去修改监听的回调当然不会重新打印。
我理解你的意思是要在访问 /test 的时候执行一些命令,大概可以这样:

app.get('/test', function (req, res, next) {
-  client.on("ready",function(){
-    console.log("ready成功")
-  })
+  client.set('key', 'value')
})
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进