gpt4 book ai didi

meteor - meteor Accounts.changePassword的错误格式不一致

转载 作者:行者123 更新时间:2023-12-03 08:44:01 25 4
gpt4 key购买 nike

我正在使用Meteor 1.8.1,并且在Accounts.changePassword返回的错误中发现了似乎不一致和未记录的行为。

docs表示“ meteor ”错误对象将包含“reason”参数。

但是,如果由于用户未登录而尝试更改密码失败,则错误对象将不包含“原因”或“错误”,而仅包含“消息”,我在文档中找不到该对象。

尽管没有记录,但似乎总是返回“消息”,但是在密码错误的情况下,它包含错误代码403,而在用户未登录的情况下,它包含错误代码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 再次以其他格式返回错误的地方吗?

  • 非常感谢您的任何启发。

    最佳答案

    根据文档,changePassword方法仅在客户端上运行,因此您始终可以在尝试更改密码之前检查用户是否已登录

    if (!Meteor.user()) {
    return reportError(new Error("Must be logged in to change password."), callback);
    }

    关于meteor - meteor Accounts.changePassword的错误格式不一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58996493/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com