CNode

求指导bluebird的写法

问答
Yyoungdeer发布于11 年前最后回复11 年前6 回复6768 浏览0 收藏
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

查看回复

回复 (5)

Y
youngdeer#1·11 年前
引用 i5ting然后 post.saveAsync(xxxx).then(xxxx).cache(err)

@i5ting

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

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

Y
youngdeer#3·11 年前
引用 i5ting@youngdeer 恩

@i5ting 谢谢指导=。=

Y
youngdeer#4·11 年前

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

I
i5ting#5·11 年前
var Order = mongoose.model('Order', orderSchema);
var Promise = require("bluebird");

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

然后

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

参与回复
登录后即可参与回复。登录