我试图在网上找到答案,但我找不到一个特定于Firebase实现的答案.
我可以选择OnCompleteListener和OnSuccessListener进行大量的操作Firebase,我想知道如何在它们之间做出选择?
我已阅读的文档的onComplete和的onSuccess,但我可以从火力地堡单证看到,这一个例如,用于(如一个具体操作get的示例操作),他们有时用OnSuccessListener,有时他们使用OnCompleteListener.
我怎么知道在任何情况下哪一个更好?有关系吗?考虑到我想知道每项操作是否成功.
sli*_*lim 34
顾名思义,onSuccess()当任务成功完成时将触发.
onComplete() 任务完成后即使失败也会触发.
在方法中,您可以调用Task.isSuccessful()和Task.getException().
在onSuccess()你可以确定isSuccessful()将返回true,getException()并将返回null(所以没有多少调用它们).
在onComplete() isSuccessful()可能false的,你有机会处理故障,可能使用getException()以获得更多的细节.
如果你需要处理失败的任务(你应该!),你有两个选择:
OnCompleteListener,if(task.isSuccessful()) { ... } else {...}- 这会将成功和失败代码放在一起,如果这些例程共享状态,则可能很有用.OnSuccessListener和OnFailureListener- 这允许您编写具有更多内聚的侦听器,因为每个处理程序专门处理一件事.当然,一个类可以实现两个接口,为您提供另一种方法来同时看到相同的状态.| 归档时间: |
|
| 查看次数: |
9111 次 |
| 最近记录: |