Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从firebase函数返回错误?_Javascript_Reactjs_Firebase - Fatal编程技术网

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))