在“保存前”操作中取消环回保存事件

时间:2016-03-24 21:11:58

标签: loopbackjs strongloop

我们正在使用loopback API构建购物车。

将产品(即12345)添加到持久性数据库时,我正在检查该项目是否已存在于我的“购物车”中。如果该项目存在,我正在递增该项目的数量。但是,在递增之后我需要停止将项目添加到购物车中。

在“保存前”操作挂钩中,我是否可以取消该项目添加到数据库中。我需要能够停止保存操作。

2 个答案:

答案 0 :(得分:1)

尝试使用findOrCreate操作挂钩。它将查找基于过滤器的现有模型,并在未找到时创建新模型。

https://apidocs.strongloop.com/loopback/#persistedmodel-findorcreate

答案 1 :(得分:1)

你应该像{amuramoto建议的那样使用findOrCreate()。但要回答您的问题,要取消保存,请拨打next()并输入错误:

next(err);

next(new Error('Why this is cancelled...'));

在同一模型上的前保存挂钩内调用save方法是不好的做法。无限循环可以很容易地产生。