При каких обстоятельствах Firebase запускает OnCanceled () - PullRequest
0 голосов
/ 04 августа 2020

Я хотел бы осветить все случаи сбоя в firebase / firestore. Я видел, как функции запускают обратный вызов OnFailure, но при каких обстоятельствах запускается OnCanceled? Мне не удалось вызвать какие-либо триггеры OnCanceled () для различных функций, таких как запись / удаление, а также операций с FirebaseUser и AuthUI, и я не видел никакой документации. Эти случаи где-то задокументированы?

FirebaseDatabase.getInstance().getReference("users/test").setValue("blabla")
                .addOnSuccessListener(new OnSuccessListener<Void>()
                {
                    @Override
                    public void onSuccess(Void aVoid)
                    {
                        Log.v("TEST", "DB WRITE SUCCESS");
                    }
                })
                .addOnFailureListener(new OnFailureListener()
                {
                    @Override
                    public void onFailure(@NonNull Exception e)
                    {
                        Log.v("TEST", "DB WRITE FAILURE " + e);
                    }
                })
                .addOnCanceledListener(new OnCanceledListener()
                {
                    @Override
                    public void onCanceled()
                    {
                        Log.v("TEST", "DB WRITE CANCELLED");
                    }
                });

      FirebaseFirestore fs = FirebaseFirestore.getInstance();
        fs.collection("users").document("blabla").set(data)
                .addOnSuccessListener(new OnSuccessListener<Void>()
                {
                    @Override
                    public void onSuccess(Void aVoid)
                    {
                        Log.v("TEST", "FS WRITE SUCCESS");
                    }
                })
                .addOnFailureListener(new OnFailureListener()
                {
                    @Override
                    public void onFailure(@NonNull Exception e)
                    {
                        Log.v("TEST", "FS WRITE FAILURE " + e);
                    }
                })
                .addOnCanceledListener(new OnCanceledListener()
                {
                    @Override
                    public void onCanceled()
                    {
                        Log.v("TEST", "FS WRITE CANCELLED");
                    }
                });

FirebaseUser user = mAuth.getCurrentUser();
                    UserProfileChangeRequest profileUpdates = new UserProfileChangeRequest.Builder()
                            .setDisplayName(name)
                            .build();
                   
                    user.updateProfile(profileUpdates)
                            .addOnSuccessListener(new OnSuccessListener<Void>()
                            {
                                @Override
                                public void onSuccess(Void aVoid)
                                {
                                    Log.v("NICK", "SUCCESS UPDATED PROFILE");
                                }
                            })
                            .addOnCanceledListener(new OnCanceledListener()
                            {
                                @Override
                                public void onCanceled()
                                {
                                    Log.w("NICK", "CANCELED UPDATE PROFILE");
                                }
                            })
                            .addOnFailureListener(new OnFailureListener()
                            {
                                @Override
                                public void onFailure(@NonNull Exception e)
                                {
                                    Log.w("NICK", "FAILED TO UPDATE PROFILE");
                                }
                            });

AuthUI.getInstance().delete(this)
                        .addOnSuccessListener(new OnSuccessListener<Void>()
                        {
                            @Override
                            public void onSuccess(Void aVoid)
                            {
                                Log.v("AUTHUI", "SUCCESS DELETED ACCNT");
                            }
                        })
                        .addOnCanceledListener(new OnCanceledListener()
                        {
                            @Override
                            public void onCanceled()
                            {
                                Log.w("AUTHUI", "CANCELED DELETE ACCNT");
                            }
                        })
                        .addOnFailureListener(new OnFailureListener()
                        {
                            @Override
                            public void onFailure(@NonNull Exception e)
                            {
                                Log.w("AUTHUI", "FAILED TO DELETE ACCNT " + e);

                            }
                        });

1 Ответ

1 голос
/ 04 августа 2020

при каких обстоятельствах запускается OnCanceled?

Нет. Отмена задачи происходит только для задач, которые специально предназначены для отмены. Этого не происходит с задачами Firestore.

...