我在使用SequelizeJS的NodeJS中使用.destroy()时出错。我的实例已被删除,但我收到此错误:
错误:[object SequelizeInstance]
我的代码:
// my delete action in dao
delete: function (id, callback) {
this.context.ProjectCategory.find(id).success(function (category) {
if(category){
category.destroy().success(callback);
}
else{
callback('Aucune catégorie avec l\'id :' + id);
}
})
.error(callback);
}
// my controller
this.projectCategoryDao.delete(id, function (error) {
if(error){
console.log('erruer '+error);
request.flash('danger', error);
}else{
request.flash('success', 'deleted.');
}
response.redirect(self.baseUrl+'/_index');
});

答案 0 :(得分:0)
如果你现在还没想到它,那是因为.error(cb)
和.success(cb)
都会在你函数的第一个参数中返回第一个参数。
因此,.success(callback);
会调用callback(withYourInstanceHere);
,因此当您选中if (error)
如果你想复制标准的回调方式,你必须这样做:
category.destroy().success(function(instance){
callback(null, instance); // So this will pass null for your error.
});