使用SequelizeJS删除实例

时间:2014-11-28 10:33:32

标签: node.js sequelize.js

我在使用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');
});




1 个答案:

答案 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.
});