当我将返回包装在回调中时,我无法让服务器 Meteor.method 返回成功的响应。
当不包含在回调中时,它工作正常。
它可以在包含在回调中和未包含在回调中时抛出新的 Meteor.errors。
以完全相同的方式在客户端包装 Meteor.call 可以正常工作。
但是,由于某种原因,在调用 return 时在服务器上执行此操作不会返回响应值。
这是一个例子。这不是我的确切代码,但非常接近。虽然非常接近。
Meteor.methods({
insertData: insertData
});
function insertData(params){
validateParams(params, function(bool, msg){
if(bool){
//do stuff, like insert records
result = 'thanks a million gagillions';
console.log(result);
return result;
} else {
throw new Meteor.Error(513, msg);
}
});
}
validateParams(params, callback){
for (var key in params) {
value = params[key];
if(_.isEmpty(value) || _.isUndefined(value) || _.isNull(value)) {
callback(false, 'Please enter your "'+ key + '".');
return;
}
}
callback(true);
}
我如何让它工作以便返回结果?