【发布时间】:2015-10-20 22:48:29
【问题描述】:
我有 Meteor 方法:
Meteor.methods({
orderStatusUpdate: function(orderId, status, note) {
check(orderId, String);
var statusData = {
status: status,
}
if (note) {
statusData.statusNote = note;
}
check(statusData, SchemaCompiled.orderStatus);
Collections.orders.update({_id: orderId}, {$set: statusData});
}
});
对字段 statusNote 进行自定义验证:
custom: function(){
if (someCondition) {
return 'required';
}
return false;
}
我的问题是,即使定义了回调函数:
Meteor.call('orderStatusUpdate', orderId, orderStatus, note, function (error, result) {
// doing something
}
异常记录到控制台:
在模拟调用 'orderStatusUpdate' 的效果时出现异常 errorClass {message: "Match error: Note is required", path: "", sanitizedError: errorClass, errorType: "Match.Error", invalidKeys: Array[1]}错误:匹配错误:需要备注
据我了解,当我调用 check(...) 时会引发异常。
我怎样才能捕捉到这个异常以正确地显示给客户?
顺便说一句,回调函数也使用 error 变量集调用。
【问题讨论】:
标签: javascript meteor meteor-methods