我有一个问题,我没有找到太多信息,我甚至阅读this但我找不到这个例外的解决方案:
断言失败:opt_onRejected应该是一个函数。您是否将opt_context作为第二个参数而不是第三个参数传递?
这是我的函数抛出异常:
const {currentUser} = firebase.auth()
const credential = firebase.auth.EmailAuthProvider.credential(
currentUser.email,
password)
return (dispatch) => {
currentUser.reauthenticate(credential) // 1. Re-authenticate
.then(
console.log("RE-AUTH"),
currentUser.updateEmail(strEmail) // 2. Update email
.then(
console.log("MAIL UPDATE"),
firebase.database().ref(`users/${currentUser.uid}/`) // 3. Update profile email
.update({email})
.then(console.log("PROFILE UPDATE"))
.catch(error => console.log(error))
)
.catch(error => console.log(error))
)
.catch(error => console.log(error))
}
它可以更改电子邮件地址,但例外显示......
答案 0 :(得分:0)
解决了问题,我添加了更多console.log()
以找出我的承诺
答案未得到正确处理(link)。
如果有人需要采取有效的电子邮件更改行动:
currentUser.reauthenticate(credential) // Re-authenticate
.then(() => {
currentUser.updateEmail(strEmail) // Update email
.then(() => {
firebase.database().ref(`users/${currentUser.uid}/`) // Update profile email
.update({email})
.then(() =>
Alert.alert("Modification saved."),
emailSaveSuccess(dispatch)
)
.catch(error => console.log(error))
})
.catch(error => emailSaveError(dispatch, error))
})
.catch(error => emailSaveError(dispatch, error))