【发布时间】:2018-11-06 11:09:33
【问题描述】:
我正在尝试使用 firebase 执行一些任务,并在没有任何回调函数的情况下在 Promise 中调用一些函数,这给了我一个错误。 这是我的代码
onButtonPress = () => {
const {email, password} = this.state
this.setState({error: '', loading: true});
firebase.auth().signInWithEmailAndPassword(email, password)
.then(this.onAuthSuccess().bind(this))
.catch(()=>{
firebase.auth().createUserWithEmailAndPassword(email, password)
.then(this.onAuthSuccess().bind(this))
.catch(this.onAuthFailed().bind(this))
})
}
onAuthSuccess() {
this.setState({
email: '',
password: '',
error: '',
loading: false
})
}
onAuthFailed() {
this.setState({
error: "Authentication Failed",
loading: false
})
}
这是我收到的错误消息
undefined 不是对象(评估 '_this.onAuthSuccess().bind()')
【问题讨论】:
-
你想要
this.onAuthSuccess.bind(this),而不是this.onAuthSuccess().bind(this)(onAuthFailed也一样)。bind是函数的方法!
标签: firebase react-native promise firebase-authentication