javascript - 显示 Promise 错误消息但未捕获错误

标签 javascript reactjs firebase promise

我正在尝试使用从 helpers.js 导出的辅助函数来 signUp 用户并将其添加到 React 应用内的 Firebase 集合中。使用有效数据一切正常,但是当我尝试在没有(或无效)数据的情况下注册时,会显示错误,但我仍然在控制台中未捕获。

图片:/image/9BLVj.jpg

辅助函数

const signUp = async(email, password) => {

    await firebase.auth().createUserWithEmailAndPassword(email, password)
    .then(res => {
        const db = firebase.firestore();
        db.collection('users').doc(res.user.uid).set({
            email: res.user.email,
            emailVerified: res.user.emailVerified,
            displayName: res.user.displayName,
            phoneNumber: res.user.phoneNumber,
            photoUrl: res.user.photoURL,
            firstName: '',
            lastName: ''
        });
    })
};

React组件函数

const handleSubmit = (e) => {

            e.preventDefault();
            setLoader(true);
            const {email, password} = e.target.elements;

            signUp(email.value, password.value).then(() => {
                    setLoader(false);
                    history.push('/dashboard');
                }).catch(err => {
                    console.log(err);
                   setError(err.message);
                   setLoader(false);
                });
    };

最佳答案

我认为你应该返回 promise

const signUp =(email, password) => {

    return firebase.auth().createUserWithEmailAndPassword(email, password)
    .then(res => {
        const db = firebase.firestore();
        db.collection('users').doc(res.user.uid).set({
            email: res.user.email,
            emailVerified: res.user.emailVerified,
            displayName: res.user.displayName,
            phoneNumber: res.user.phoneNumber,
            photoUrl: res.user.photoURL,
            firstName: '',
            lastName: ''
        });
    })
};

关于javascript - 显示 Promise 错误消息但未捕获错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58028145/

相关文章:

javascript - 当我有响应时,Ruby on Rails 正在将 JS 打印到屏幕上

javascript - Ioniq 5 模态路线

javascript - 计算 React.js 中 API JSON 响应的出现次数结果

javascript - 如何为 React 组件编写 TypeScript 接口(interface)作为另一个组件的静态属性?

javascript - 'child_added' 和 'value' firebase 之间的区别?

javascript - 计算范围选择器 javascript 中的天数

javascript - Patten 匹配使用 lookbehind assertion 完成。如何在 javascript 中不使用 lookbehind 来做到这一点?

javascript - 如何在异步函数中对用户输入使用 JavaScript 等待

swift - Firebase 管理下载 API 不可用

javascript - 使用Angularfire(firebase)需要注册账号吗?