我怎么知道是使用OnComplete还是OnSuccess?

我怎么知道是使用OnComplete还是OnSuccess?,第1张

我怎么知道是使用OnComplete还是OnSuccess?

顾名思义,

onSuccess()
将在任务成功完成时触发

onComplete()
即使任务失败,也会在任务完成时触发。

在方法中,您可以调用

Task.isSuccessful()
Task.getException()

onSuccess()
你可以肯定的是,
isSuccessful()
将返回true,并且
getException()
将返回null(所以没有太多的点叫他们)。

onComplete()

isSuccessful()
false
,您有机会处理失败,也许可以利用它
getException()
来获取更多细节。

如果您需要处理失败的任务(应该!),则有两种选择:

  1. 使用和
    OnCompleteListener
    以及
    if(task.isSuccessful()) { ... } else {...}
    -将成功代码和失败代码放在一起,如果这些例程共享状态,则可能会很有用。
  2. 使用单独的
    OnSuccessListener
    OnFailureListener
    -这样可使您编写具有更多内聚力的侦听器,因为每个处理程序都专门处理一件事。当然,一个类可以实现两个接口,这为您提供了另一种让它们看到相同状态的方法。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5142861.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-18
下一篇 2022-11-18

发表评论

登录后才能评论

评论列表(0条)

保存