来自github上的node-redis文档:
注意:您对client.auth()的调用不应该在准备好之内 处理程序。如果你这样做错了,客户端会发出错误 看起来像这样错误:准备检查失败:错误操作没有 允许
那么这是否意味着当client.auth执行传递给它的回调时,可以安全地假设此连接已准备好用于正常命令?如果不是那么应该兼顾两个回调函数,确定哪一个被称为第二个?
答案 0 :(得分:2)
如果不需要auth,node-redis会向服务器发送INFO以检测它何时就绪,然后触发就绪事件(参见https://github.com/mranney/node_redis)。
当需要auth时,看起来redis只会在auth完成后才开始接受命令(参见http://redis.io/commands/auth)。
所以我要做的是在未进行身份验证时响应“ready”事件并在进行身份验证时响应auth回调(可能在创建客户端时使用了{no_ready_check: true}
。)