今天封装啦一个网络下载工具,发现了一个问题,当我暂停一个任务的时候,等待一段时间之后,代理方法里面就会出现timeout 的错误,不知道怎么回事;(点击[task suspend]一个任务时,这个任务的网络请求不都暂停了,然后再点击[task resume]任务不都恢复啦(没有做缓存),但是我的情况是当我点击[task suspend]一个任务,然后等待一段时间后代理方法就会出现timeout的情况,点击[task resume]没有效果。这里怎么会出现timeout的错误呢,谢谢您的帮助)
今天封装啦一个网络下载工具,发现了一个问题,当我暂停一个任务的时候,等待一段时间之后,代理方法里面就会出现timeout 的错误,不知道怎么回事;(点击[task suspend]一个任务时,这个任务的网络请求不都暂停了,然后再点击[task resume]任务不都恢复啦(没有做缓存),但是我的情况是当我点击[task suspend]一个任务,然后等待一段时间后代理方法就会出现timeout的情况,点击[task resume]没有效果。这里怎么会出现timeout的错误呢,谢谢您的帮助)
1 回答1.2k 阅读
2 回答650 阅读
553 阅读
不使用suspend,这个方法只是将当前的downloadTask的下载进程挂起,当前任务的其他状态不暂停,比如,上述提到的suspend后,还是会收到超时提醒.
建议使用cancelByProducingResumeData, 取消下载任务
UI方面,呈现出暂停的状态,自定义用户对下载作出处理的状态枚举,用于区分completionHandler回调是不是 真cancel or 用户主动cancel 做不同的操作