Javascript 如何从firebase函数返回错误?
我有这个功能:Javascript 如何从firebase函数返回错误?,javascript,reactjs,firebase,Javascript,Reactjs,Firebase,我有这个功能: export const createUser = (email, password) => firebase.auth().createUserWithEmailAndPassword(email, password) .then(res => console.log(res)) .catch(error => { console.log(error) return error }); 我将此函数导入React组件,如果它抛出错误,则将消息
export const createUser = (email, password) =>
firebase.auth().createUserWithEmailAndPassword(email, password)
.then(res => console.log(res))
.catch(error => {
console.log(error)
return error
});
我将此函数导入React组件,如果它抛出错误,则将消息设置为其状态:
const process = createUser(email, password)
console.log(process)
但是上面记录了函数的全部细节。我试图捕捉前端,获取
进程.error
,同时将错误放在导出函数的括号中,还试图获取如下消息:进程.A.I.L.message
,但没有任何效果。如何解决此问题?由于createUserWithEmailAndPassword
是异步的,因此您应该返回承诺,而不是从.catch()
返回结果。我尚未测试解决方案,但您应该能够执行以下操作:
// definition
function createUser(email,password) {
return new Promise((resolve, reject) => {
firebase.auth().createUserWithEmailAndPassword(email, password)
.then(res => resolve(res))
.catch(error => {
console.log(error)
reject(error)
})
})
}
// when you are calling the function
createUser(email, password)
.then(process => console.log(process))
.catch(err => console.log(err))