Mongoose.create + Q将mongoose承诺转换为Q承诺

时间:2014-12-28 19:12:17

标签: node.js mongoose promise q

我正试图在Q中使用mongoose promises。

我希望看到的是:

var promise1 = Model.create({
    field: 'value1'
});
var promise2 = Model.create({
    field: 'value2'
});

Q.all([promise1, promise2], function(){
    console.log("promises resolved");
});

当然它不起作用。我想念在Q promise对象中包含mongoose promises的东西。有没有优雅的方法呢?

1 个答案:

答案 0 :(得分:3)

您没有将“已解决”的回调传递给all的调用,您在返回的承诺上调用done并将回调传递给:

当我尝试时,这很好用:

Q.all([promise1, promise2]).done(function(docs){
    console.log("promises resolved");
});