Javascript Promisify Redis客户端
我怎样才能Javascript Promisify Redis客户端,javascript,node.js,redis,promise,bluebird,Javascript,Node.js,Redis,Promise,Bluebird,我怎样才能承诺redis,这样我就可以使用了 我试图向客户承诺: var redis = require('redis'); Promise.promisifyAll(redis.RedisClient.prototype); var client = redis.createClient(); client.on('connect', function(){ console.log('Redis connection is up'); client.lrange('abc
承诺redis
,这样我就可以使用了
我试图向客户承诺:
var redis = require('redis');
Promise.promisifyAll(redis.RedisClient.prototype);
var client = redis.createClient();
client.on('connect', function(){
console.log('Redis connection is up');
client.lrange('abc',0,3).then(function(result){
console.log(result);
res.send(200)
});
});
但它的反应是错误的:
client.lrange(…)。则不是函数
PS:回调代码工作正常,这意味着服务器运行正常。当使用
promisifyAll
时,promisified方法会得到一个-Async
后缀:
client.lrangeAsync('abc',0,3).then(...);
根据:
请注意,不会覆盖对象上的原始方法,但会使用Async
-后缀创建新方法。例如,如果您promisifyAll
node.jsfs
对象使用fs.statAsync
调用promisifiedstat
方法
lrange
确实有第四个参数作为callback
,为什么不使用它?因为我试图使用promise本身有redis
的例子,我很惊讶OP无法理解这一点+1滚开!如何处理client.multi().get(“test”).exec((err,callback)=>{})