反应本机是的电子邮件检查

问题描述

我想检查电子邮件是否重复。

但我检查电子邮件功能是异步的。

它看起来像这样:

email: yup.string()
  .required('Bitte trage deine Email aus.')
  .test('checkEmailAsync','Email already exists.',(value) => {

    checkEmail(value).then(res => {
      return res.result; // is true or false
    })
    .catch(e => console.log(e));

  })

它不起作用。每次提示“邮箱已存在”时都会调用函数

我的服务器端响应是正确的,我检查了它。 我认为它不起作用,因为我在测试中使用了异步函数。但我现在如何检查?

解决方法

试试这样重写:

email: yup.string()
  .required('Bitte trage deine Email aus.')
  .test('checkEmailAsync','Email already exists.',async (value) => {
    const res = await checkEmail(value);
    return res.result;
    
  })

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...