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