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