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

react native yup email check

我想检查邮件是否重复。

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

看起来像这样:

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 already exists.

时都会调用该函数

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

试试这样重写:

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