求指导bluebird的写法
发布于 2天前 作者 youngdeer 172 次浏览 来自 问答
router.post('/post', function(req,res){
    var currentUser = req.session.user;
    var post = new Post(currentUser.name, req.body.post);
    post.save(function(err){
        if(err){
            req.flash('error', err);
            return res.redirect('/');
        }
    req.flash('success', 'post success.');
    res.redirect('/u/'+ currentUser.name);
    });
});

用 bluebird 该怎么写呢, bluebird的api看的有点糊涂 new Promise(function(function resolve, function reject) resolver) -> Promise

6 回复

用es6 用co 用thunkify

@lonso 那个,我在学bluebird…原生的promise倒是会写,不过bluebird的看着有点迷糊。

var Order = mongoose.model('Order', orderSchema);
var Promise = require("bluebird");

Promise.promisifyAll(Order);
Promise.promisifyAll(Order.prototype);

然后

post.saveAsync(xxxx).then(xxxx).cache(err)

@i5ting

.then(function(result){
    console.log(result);
})

then里面function的参数result是post.saveAsync(xxxx)操作成功时返回的值对吧。

回到顶部