onFailed method

  1. @protected
FutureOr<bool> onFailed(
  1. T data
)

本次任务执行失败后调用

data为本次任务执行周期中的数据包装类,由onCreateWorkData创建。

  • 在任务执行中遇到异常或请求及处理失败时会进入异常流并执行此方法。

  • 该方法在onFinished之前被调用。

  • 该方法与onCanceled互斥,即如果任务因为用户主动取消而中断则不会进入该方法。

  • 返回值为是否重新执行本次请求,如果为true,则本次请求结果将不会从start调用点处返回,而是丢弃本次结果然后重新执行start方法后在调用点处返回。

  • 当返回true时要注意避免进入无限重请求循环,onMaxRestart可以限制最大重试次数。

  • 此处的重启不同于start中的retry参数,两者互不干扰同时生效。

  • retry参数仅表示最终网络请求的重试次数,重试期间不会执行其它work的生命周期函数。

  • 此处的重启表示work本身的重新启动,每次重启与首次执行start方法的参数和流程相同。

Implementation

@protected
FutureOr<bool> onFailed(T data) => false;