1)能不能把你的测试代码给我看一下,我用了 throw new AV.Cloud.Error,确实会中断hook的执行,但并没有阻止save事件的执行,还是创建成功了(文档中说用了这个throw就不保存数据,并返回错误)。
下面是hook函数的文档中的示例代码,是我理解错了,还是代码错了?
AV.Cloud.beforeSave('Review', function(request) {
var comment = request.object.get('comment');
if (comment) {
if (comment.length > 140) {
// 截断并添加...
request.object.set('comment', comment.substring(0, 137) + '...');
}
} else {
// 不保存数据,并返回错误
throw new AV.Cloud.Error('No comment!');
}
});
2)还有,我发现beforeSave这个函数好像是在save操作发生之后执行的,我在beforeSave函数里查询创建者已经创建的数据里,貌似是包含当前这个save请求的数据的,是不是因为这个原因没有阻止save动作的执行?
3) 还有,客户端并没有收到throw过来的错误信息....
@leeyeh @jysperm