如何确保多个firebase请求都已成功完成?

时间:2017-10-30 02:38:34

标签: android firebase

我在我的Android应用程序中使用firebase,我正在尝试使用附加到新用户的名称和用户名注册新用户。正在执行以下Firebase请求:

  1. createAccount(注册电子邮件/密码验证帐户)
  2. createNewUser(使用电子邮件,名称和用户名在数据库中设置用户值)
  3. registerUsernameTaken(在单独的数据库节点中使用userId注册用户名,以便能够检查将来是否使用用户名)
  4. 我的问题是,如果这些操作中的任何一个失败,我都不希望任何操作完成。例如,如果createAccount成功完成但createNewUser没有成功,我现在有一个新帐户,没有正确注册的关联名称和用户名帐户信息以及未完成的用户名注册。确保列出的所有firebase请求全部或全部都没有完成的最佳方法是什么?

    提前致谢!

1 个答案:

答案 0 :(得分:0)

您可以将onCompleteListener附加到您想要的方法/任务,以确保它像这样完整。

auth.signInWithEmailAndPassword(email, password)
                .addOnCompleteListener(LoginActivity.this, , new OnCompleteListener<AuthResult>() {
                    @Override
                    public void onComplete(@NonNull Task<AuthResult> task) {
                        if (!task.isSuccessful()) {
                          // Handle task not successful 
                        } else {
                          // Handle task successful 
                        }
                    }
                })

希望有所帮助