【问题标题】:Delete instance using SequelizeJS使用 SequelizeJS 删除实例
【发布时间】:2014-12-03 00:18:16
【问题描述】:

在带有 SequelizeJS 的 NodeJS 中使用 .destroy() 时出现错误。我的实例已被很好地删除,但我收到此错误:

错误:[对象 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');
});

【问题讨论】:

  • 一定有比Error : [object SequelizeInstance]更多的东西。错误信息的其余部分是什么?

标签: node.js sequelize.js


【解决方案1】:

如果您现在还没有想到,那是因为.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.
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-04-20
    • 1970-01-01
    • 2012-10-26
    • 2018-02-26
    • 2013-02-03
    • 1970-01-01
    • 2023-03-12
    • 2018-06-09
    相关资源
    最近更新 更多