Javascript Firebase/React本机-断言失败
我有一个问题,我没有找到太多的信息,我甚至阅读了,但我找不到解决此异常的方法:Javascript Firebase/React本机-断言失败,javascript,firebase,react-native,firebase-realtime-database,firebase-authentication,Javascript,Firebase,React Native,Firebase Realtime Database,Firebase Authentication,我有一个问题,我没有找到太多的信息,我甚至阅读了,但我找不到解决此异常的方法: const {currentUser} = firebase.auth() const credential = firebase.auth.EmailAuthProvider.credential( currentUser.email, password) return (dispatch) => { currentUser.reauthenticate(credential
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))
}
断言失败: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))
}
它的工作原理是更改电子邮件地址,但异常显示…修复了问题,我添加了更多的
console.log()
,以了解我的承诺
答案处理不正确()
如果任何人需要电子邮件更改的工作操作:
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))