我只是在meteor中写了一个错误通知面板,在这里我创建了一个客户端mongodb,但我无法通过throwError函数将Meteor.Error消息推送到该客户端db,目前它显示在一个警报框中
集合/signup.js
signupDB = new Meteor.Collection('signup');
Meteor.methods({
signupSubmit : function(postData) {
var signinEmailExist = signinDB.findOne({
email : postData.email
});
if (postData.email && signinEmailExist)
throw new Meteor.Error(422, "exist in signinDB");
var signupEmailExist = signupDB.findOne({
email : postData.email
});
if (postData.email && signupEmailExist)
throw new Meteor.Error(422, "exist in signupDB"); //
var user = _.extend(_.pick(postData, 'email', 'password'), {
insert_time : new Date().getTime() });
var userId = signupDB.insert(user);
return userId;
}
});
客户端/错误/error.js
errorDB = new Meteor.Collection(null);
throwError = function(data) {
errorDB.insert({data: "in throwError", del: "N"})
}
errorDB.insert({data: "in signup", del: "N"})
代码在客户端文件夹中的任何地方都可以工作
此处 throwError 函数无法调用,但 signupSubmit 方法错误显示在警告框中
是发布/订阅的问题(不是为注册数据库编写的)吗?
我如何从 Meteor.Methods 捕获 Meteor.Error 警报并将其插入客户端数据库?
有没有像 throwError 这样的其他函数来捕获 Meteor.Methods 错误?