即使已弃用,也可以使用猫鼬的承诺吗?

Posted

技术标签:

【中文标题】即使已弃用,也可以使用猫鼬的承诺吗?【英文标题】:Is it okay to use mongoose's mpromise even if it's deprecated? 【发布时间】:2017-08-07 14:24:35 【问题描述】:

在我的Node 应用程序中使用猫鼬时出现以下错误。

Mongoose: mpromise (mongoose's default promise library) is deprecated, plug in your own promise library instead: http://mongoosejs.com/docs/promises.html

我也从 SO 和其他一些网站获得了许多解决方案。所有人都说要插入其他一些承诺库,如原生、蓝鸟等。

但除了显示该警告外,我无法在任何地方找到使用mpromise 可能导致的问题。可以忽略警告并继续使用mpromise 吗?或者我应该改变承诺库吗?到目前为止,我使用它没有遇到任何问题。这就是为什么我对更改库感到困惑

【问题讨论】:

【参考方案1】:

是的。您现在可以使用mpromiseMongoose 将停止 mpromise 支持。 Mongoose 的最新版本是4.9.0。从5.0 开始,将不支持mpromise,默认使用原生promise 库。来自猫鼬文档,

已弃用。 Mongoose 5.0 默认使用原生 Promise(或 蓝鸟,如果本地承诺不存在)但仍然支持 插入你自己的 ES6 兼容的 Promise 库。猫鼬 5.0 不支持承诺。

见this

【讨论】:

以上是关于即使已弃用,也可以使用猫鼬的承诺吗?的主要内容,如果未能解决你的问题,请参考以下文章

测试时出现“mpromise(猫鼬的默认承诺库)已弃用”错误[重复]

猫鼬承诺错误

使用猫鼬的抽象类

Mongoose 的默认 Promise 库在 MEAN 堆栈中已弃用

猫鼬承诺在某些条件下无法解决

使用 mocha 的内置承诺支持测试失败的承诺 [重复]