5

我正在使用一些猫鼬模型实例方法来尝试封装一些业务逻辑,而不是散布在我的应用程序中。一个例子:

 MySchema.methods.doSomethingAndUpdateCount = function (somedata) {
        //Do something to model here using somedata
        this.someCount ++;
        this.save();
 };

不过,我今天又在看这个,我不确定这是否真的是一个好习惯。一方面,它并没有真正为使用这种方法的应用程序部分提供处理错误的方法。也许问题是this.save();- 也许这不应该在实例方法中,而是由方法的使用者调用。所以...

  • 拥有更新实例数据的实例方法是一种好习惯吗?
  • 如果是这样,您应该this.save();从实例方法中调用,还是在使用代码时这样做?
  • 在这种情况下,您应该如何处理错误?
4

1 回答 1

7

一般概念很好,但是您的实例方法应该支持您可以提供保存的回调参数,this.save(callback);以便可以通知客户端错误。

于 2012-08-16T13:49:52.337 回答