假如我有一个查询用户数据的需求,逻辑是这样的:先从缓存查,如果缓存里没有,再从数据库查,我用promise实现如下:
exports.getUserData=function(){
return redis.getAsync().then(function(val){
if(val)
return db.findFromDB(sql).then(function(val){
return val;
});
else return val;
}).catch(function(error){
//....
});
}
我怎么感觉我这样的写法和多层callback没区别了,是我写法不对吗?