gpt4 book ai didi

javascript - 如何处理 catch 中的错误 - vue.js

转载 作者:行者123 更新时间:2023-12-02 22:36:13 24 4
gpt4 key购买 nike

我想知道如何处理 promise 中的错误。我有包含电子邮件和个人代码输入的注册表单。当有人不填写输入时就会出现错误。但是,当我的基地中存在电子邮件或个人代码时,我想将他重定向到登录页面 - 因为他的帐户存在。但有一个问题。如果我的基地中有一封电子邮件,他会被重定向到登录(没关系),但是当他写了错误的电子邮件但良好的个人代码时,我的控制台中出现错误。这是一个代码:

       Promise.all(auxData).then(() => {
this.profileCheck()
.then(() => {
// some code
})
.catch(e => {
if ( e.email.custEmailExists == "This email existe." ) {
co.postLogin(loginData).then(data => {
this.$router.push({ name: "login" });
});
} else if (
e.person_code.custPersonCodeExists == "this personal code
existe") {
this.$router.push({ name: "login" });
}
});
});

因此,在第二种情况下(这是电子邮件错误且存在个人代码的情况),我的错误是:“未捕获( promise 中)TypeError:无法读取未定义的属性‘custEmailExists’”。这个错误从我的 api 自动显示。第一个条件被删除,因为电子邮件是新的,所以它必须关注第二个条件。但事实并非如此。

最佳答案

JavaScript 尝试检查 e.email.custEmailExist 的值,但 e.email 未定义。使用:

if (e.email && e.email.custEmailExists == "This email existe.")

或者:

if ((e.email || {}).custEmailExists == "This email existe.")

第二个有点更hacky。

关于javascript - 如何处理 catch 中的错误 - vue.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58729407/

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