gpt4 book ai didi

javascript - 使用 Firebase 身份验证方法检查错误的正确方法是什么?

转载 作者:行者123 更新时间:2023-12-04 10:50:40 24 4
gpt4 key购买 nike

我最近开始使用firebase。我正在创建一个包含电子邮件密码身份验证的简单应用程序。当用户提交表单时,有两种可能性。

  • 如果有任何错误,则 Form will show 错误将保持可见。
  • 如果没有错误表单将隐藏并删除错误。

  • 在任何一种情况下,加载程序都需要在处理后隐藏。代码的相关部分是。
    let error = false;
    auth
    .createUserWithEmailAndPassword(email, password)
    .catch(err => {
    if (err) error = true;
    RegisterForm.setError(err.message);
    })
    .then(x => {
    if (!error) {
    RegisterFormDialog.close();
    }
    })
    .finally(() => {
    MainLoader.hide();
    });

    上面的代码完全正常,但问题是我必须创建一个额外的变量 error是外部作用域,然后在内部检查 then() .是否有任何回调,只有在没有错误的情况下才会运行。因为 then()即使存在错误也会调用。

    最佳答案

    所有返回 promise 的方法(不仅仅是 Firebase)的通常做法是放置 then之前 catch处理结果时:

    let error = false;
    auth
    .createUserWithEmailAndPassword(email, password)
    .then(x => {
    RegisterFormDialog.close();
    })
    .catch(err => {
    if (err) error = true;
    RegisterForm.setError(err.message);
    })
    .finally(() => {
    MainLoader.hide();
    });

    如果 promise 成功解析,则 then回调将被调用。否则, catch回调将被调用。但永远不会两者兼而有之。

    关于javascript - 使用 Firebase 身份验证方法检查错误的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59485423/

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