微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

React Validation Async 总是返回 Promise{<pending>}

如何解决React Validation Async 总是返回 Promise{<pending>}

所以我正在我的 React 应用程序中进行基本验证。我正在使用 react-final-form 以及验证做什么,它返回一个错误对象(如果它们存在)。对于我的一组验证,我使用的是异步函数,它总是返回 Promise{<pending>}。我不知道为什么,因为我所有的 await 方法都是用 .then() 关闭的;请看一下我的代码


async function checkEmail(email) {
    const result = await axios
            .post(`/api/check-email`,{ values: email })
            .then(e => e.data.exists);
            
    return result;
}

// main validation object
const validation: async values => {
        const errors = {};

        if(!values.email) {
            errors.email = "Email is required"
        } else {
            const response = await checkEmail(values.email).then(e => { return e; });
            if(response) {
                errors.email = "Email taken!"
            }
        }

        return errors;
    }

一旦电子邮件经过验证并且如果响应返回 false,则验证应返回一个空对象,例如 {},但它返回 Promise {<pending>}

谢谢!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。