13103890
最近被回调地狱弄的有点恶心 所以准备用promise来优化一下
mongoose本身的exec方法会返回promise
比如:
User.findOne({_id:id}).populate('posts').exec()本身就会返回promise .
但是我在最后的回调中想用到之前所哟回调里拿到的数据该怎么做呢
比如:
promise.then( function(user){
//这里拿到了user
return Post.find(user).populate(XXX).exec( )
} ).then(function(post){
//这里拿到了post
return Video.find(post).populate(XXX).exec()
}).then(function(video){
//在这里最后的回调中 想获得前面回调里面得到的user 和post 该怎么做呢??
res.render({
user:user,
post:post,
video:video
})
})
``
最后的回调中 想获得前面回调里面得到的user 和post 该怎么做呢??
尝试了一下bluebird 但是似乎不能用来写成Post.findAsync(user).populate(XXX).exec( )这种形式
怎么解决呢 求大神支招