【发布时间】:2019-12-03 21:48:34
【问题描述】:
我正在使用 Meteor 1.8.1,在 Accounts.changePassword 返回的错误中发现了似乎不一致和未记录的行为。
docs 表示 Meteor 错误对象将包含一个“原因”参数。
但是如果由于用户未登录而尝试更改密码失败,则错误对象不包含“原因”或“错误”,只有“消息”,我在文档中找不到。
'message' 似乎总是被返回,尽管没有记录,但不一致的是它在密码错误的情况下包含错误代码 403,但在用户未登录的情况下不包含错误代码。
Accounts.changePassword(oldPassword, newPassword, (error) => {
console.log('error.message', error.message);
// not logged in provides message
console.log('error.reason', error.reason);
// incorrect password provides reason and message
if (error) {
const text = error.reason || error.message;
console.log('error', text);
}
// success
});
所以我的问题是:
- 我错过了什么吗?还是这种行为真的不一致且没有记录?
- 有没有一种简单的方法可以在这两种情况下获得一致的错误消息?
- 是否还有其他“陷阱”我应该测试 Meteor 再次以不同格式返回错误的位置?
非常感谢您的启发。
【问题讨论】:
标签: meteor error-handling meteor-accounts