我试图在网上找到答案,但是找不到特定于Firebase实现的答案。
Firebase
我可以选择OnCompleteListener,并OnSuccessListener进行了大量的业务Firebase,我想知道我怎么可以在它们之间进行选择?
OnCompleteListener
OnSuccessListener
我已阅读文档的onComplete和的onSuccess,但我可以从火力地堡文档,看这一个,例如,对于(如一个具体操作get的示例操作),他们有时用OnSuccessListener,有时他们使用OnCompleteListener。
get
我怎么知道每种情况下哪个更好?有关系吗?考虑到我想知道每个操作是否成功。
顾名思义,onSuccess()将在任务成功完成时触发。
onSuccess()
onComplete() 即使任务失败,也会在任务完成时触发。
onComplete()
在方法中,您可以调用Task.isSuccessful()和Task.getException()。
Task.isSuccessful()
Task.getException()
在onSuccess()你可以肯定的是,isSuccessful()将返回true,并且getException()将返回null(所以没有太多的点叫他们)。
isSuccessful()
getException()
在onComplete() isSuccessful()中false,您有机会处理失败,也许可以利用它getException()来获取更多细节。
false
如果您需要处理失败的任务(应该!),则有两种选择:
if(task.isSuccessful()) { ... } else {...}
OnFailureListener