Mongoose.create + Q 将 mongoose 承诺转换为 Q 承诺
Posted
技术标签:
【中文标题】Mongoose.create + Q 将 mongoose 承诺转换为 Q 承诺【英文标题】:Mongoose.create + Q convert mongoose promises into Q promises 【发布时间】:2015-02-25 02:23:20 【问题描述】:我正在尝试将猫鼬承诺与 Q 一起使用。
我想看到的是:
var promise1 = Model.create(
field: 'value1'
);
var promise2 = Model.create(
field: 'value2'
);
Q.all([promise1, promise2], function()
console.log("promises resolved");
);
)
当然不行。我错过了在 Q 承诺对象中包装猫鼬承诺的东西。有什么优雅的方法吗?
【问题讨论】:
Q 是否会单独强制 mongoose 承诺 -promise1 = Q(promise1);
和 promise2 = Q(promise2);
?
【参考方案1】:
您没有将“已解决”回调传递给对 all
的调用,而是在返回的 Promise 上调用 done
并将回调传递给它:
当我尝试时效果很好:
Q.all([promise1, promise2]).done(function(docs)
console.log("promises resolved");
);
【讨论】:
以上是关于Mongoose.create + Q 将 mongoose 承诺转换为 Q 承诺的主要内容,如果未能解决你的问题,请参考以下文章
浜轰汉缃戯紝寰崥锛孮Q绌洪棿,鏈嬪弸鍦堬紝甯哥敤API璋冪敤瀹炵幇鏂规硶
Hackerearth: Mathison and the Pokémon fights
如何将字符串 - 1year 6mon 转换为数字 1.5?