我正在开发一个本机应用程序, 在这一点上,我向firebase.auth注册用户,然后还将数据也发送到外部sql数据库,问题是,第一次调用API提取时,它运行良好,但是从第二次开始,则不发送数据,而不返回任何类型的回复。 如果我卸载并重新安装该应用程序,则会发生相同的事情(fecth仅在第一次尝试时有效)。注意:注:“ console.log('2')”命令仅在第一次调用。 这是我的代码:
.auth()
.createUserWithEmailAndPassword(email,password)
.then((user)=>{
var user = firebase.auth().currentUser;
// User is signed in
user.sendEmailVerification() //this always work
fetch('https://url/application/adduser.php?info1=test&info2='+firebase.auth().currentUser.email+'&info3='+firebase.auth().currentUser.uid, {headers: {
'Cache-Control': 'no-cache, no-store, must-revalidate',
'Pragma': 'no-cache',
'Expires': 0
}})
.then(() => {
console.log("2")
}).catch((error) => {
console.error(error)
})
.then(function() {
navigate('confermaReg')
}, function(error) {
// An error happened.
let errorCode = error.code
let errorMessage = error.message;
this.onLoginFailure.bind(this)(errorMessage)
})
})
.catch((error) => {
let errorCode = error.code
let errorMessage = error.message;
this.onLoginFailure.bind(this)(errorMessage)
});
```
答案 0 :(得分:0)
这是因为一旦在Firebase中创建了用户,Firebase就会使该用户保持登录状态,并且除非您注销并创建另一个用户,否则不会再次创建该用户。因此,由于这个原因,似乎您的“ then”函数仅被调用一次。