node.js - Mongoose.create + Q 将 mongoose promise 转换为 Q promise

标签 node.js mongoose promise q

我正在尝试将 Mongoose promise 与 Q 一起使用。

我希望看到的是:

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

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

)

当然不行。我错过了一些将 Mongoose promise 包装在 Q Promise 对象中的东西。有什么优雅的方法可以做到吗?

最佳答案

您不会将“已解决”回调传递给对 all 的调用,而是对返回的 Promise 调用 done 并将回调传递给该回调:

我尝试时效果很好:

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

关于node.js - Mongoose.create + Q 将 mongoose promise 转换为 Q promise ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27679724/

相关文章:

javascript - MongoDb 和模块 mongoDb 之间的区别

Javascript:将字符串路径转换为格式化数组

javascript - 需要在async find操作里面修改json和return

node.js - Mongoose Schema 的 ObjectId 默认值

javascript - 从父 View 模型中 knockout 下拉菜单

javascript - 在 promise 链中容纳 Q.all

node.js - 使用 Google Compute Engine 在 nodejs 上进行负载测试瓶颈

javascript - MongoDB 模型不通过架构嵌入对象连接

node.js - Mongoose 虚拟机是否困惑?

javascript - NodeJS : How can I retrieve a parameter when send to a promise