我有一个猫鼬模式,正在调用Model.create()。
当我在‘然后’之后链接'catch‘不是一个函数,如果我只调用error函数作为’那时‘的第二个参数,那么我就不会。
但是当我调用诸如Model.find之类的方法时,我可以使用“catch”。
为什么我不能在调用Model.create时链接“catch”
var mySchema = Mongoose.Schema({
name: String,
});作品:
KarmaModel.create({
"name": "ss,
})
.then(function() {
//do somthing
},function()=>{
//do somthing
});不起作用:
KarmaModel.create({
"name": "ss,
})
.then(function() {
//do somthing
}).catch(function()=>{
//do somthing
});发布于 2016-01-04 17:49:19
正如在http://mongoosejs.com/docs/promises.html上指定的那样
在Mongoose 4.1.0中新增的,尽管m期对于基本用例来说已经足够了,但是高级用户可能希望插入他们最喜欢的ES6风格的承诺库,比如蓝鸟,或者只使用本地ES6承诺。只需将mongoose.Promise设置为您最喜欢的ES6风格的承诺构造函数,猫鼬就会使用它。
您可以设置猫鼬使用蓝知更鸟使用:
require("mongoose").Promise = require("bluebird");发布于 2016-06-19 02:34:15
在某种程度上,承诺似乎增加了对.catch()的支持。我使用的是mongoose@4.5.1,而.catch()工作正常。
https://stackoverflow.com/questions/30672265
复制相似问题