【发布时间】:2015-10-27 05:48:57
【问题描述】:
node 会不会有 Promise 的内置实现,还是应该采用主要库之一?比如 Q/Blueblird?我有一个使用 async.waterfall 的代码,我想将其移动以使用 Promise。链接函数之一是 mongoose findOne,它从 mongoose 4.0 开始返回一个承诺,但我知道混合承诺类型是不好的做法,因为 mongoose 使用它自己的承诺实现,我想使用 Q/Bluebird。我应该在猫鼬上使用 promsifyAll 吗? or will promisify 一旦在节点中实现承诺,将被弃用 目前的代码是:
async.waterfall([
function(done){
User.findOne({ email: reco.mail }, done);
},
function(receiverUser, done){
if (!receiverUser){
} else {
}
// send the model to mongoose to get verified and persisted
reco.save(function (err) {
if (err) {
//handle error
}
return done(err);
});
}
], function(err){
if (err) {
console.error('unexpected error while creating reco', err);
return res.status(500).send({});
}
console.log('reco created successfully', reco);
return res.status(201).send({});
});
我想改成 ().then.catch() 样式
【问题讨论】:
标签: javascript node.js mongodb promise