反应仅调用一次的本机提取

时间:2020-05-07 13:39:33

标签: react-native

我正在开发一个本机应用程序, 在这一点上,我向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)
            });
          ```



1 个答案:

答案 0 :(得分:0)

这是因为一旦在Firebase中创建了用户,Firebase就会使该用户保持登录状态,并且除非您注销并创建另一个用户,否则不会再次创建该用户。因此,由于这个原因,似乎您的“ then”函数仅被调用一次。