我在Accounts.validateLoginAttempt
方法中抛出Meteor.Error时遇到了这个奇怪的问题。但它确实有效。
为了说明更多,这是创建并抛出错误的代码片段:
var error = new Meteor.Error(403, 'Three failed attempts', {'minutesToGo': minutesToGo});
console.log(error);
throw error;
所有变量都已定义,我只是缩短了官方代码。我创建错误,我记录它以查看是否定义了详细信息。当我抛出错误时,客户端收到错误:
Meteor.loginWithPassword(usernameElement.val(), passwordElement.val(), function (error) {
if (!error) {
return true;
}
if (error.details) {
Session.set("errorDetails", error.details);
}
passwordElement.val("");
passwordElement.focus();
});
但是error.details未定义。我不确定为什么细节不明确。文档很遗憾,细节应该是一个字符串,我输入了一个字符串,但error.details仍未定义。