【发布时间】:2015-11-26 09:16:45
【问题描述】:
我正在尝试使用 Bluebird 的 spread 方法链接一系列承诺。当我运行它时,它会引发以下错误:
Object #<Promise> has no method 'spread'
代码如下:
{
new : function( req, next ) {
var packet = req.body;
var new_doc = { some obj data };
switch (packet.event.name) {
case "liked":
this._create(req, new_doc )
.spread( this._update.user )
.spread( this._update.chirp ) // omitted from this question
break;
// other cases...
};
},
_create: function( req, new_doc ) {
return model_interaction.create( new_doc, function (err, interaction) {
if (err) return next(err);
return [ req, interaction ];
});
},
_update: {
user: function ( req, interaction ) {
req.user._interactions['_' + interaction.event.name].push(interaction._id);
req.user.save();
return [ req, interaction ];
}
}
【问题讨论】:
-
使用版本 bluebird version 2.9.34
-
好吧,afaik mongo 不会返回 Bluebird 的承诺……
标签: node.js mongodb mongoose promise bluebird