我如何promisify redis
以便我可以使用then
?
我试图宣传客户:
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:回调代码运行正常,这意味着服务器运行正常。
答案 0 :(得分:7)
使用-Async
时,宣传的方法会获得client.lrangeAsync('abc',0,3).then(...);
后缀:
Async
请注意,对象上的原始方法不会被覆盖,但会使用
promisifyAll
- 后缀创建新方法。例如,如果您fs
node.jsfs.statAsync
对象使用stat
来调用promisified {{1}}方法。