我们正在使用Room
数据库来存储等待上传的项目列表,每个项目都有上传状态(WAITING
,UPLOADING
,UPLOADED
和{{1 }}),我们需要按顺序上传它们。因此,我们有用例来获取第一个FAILED
或WAITING
的项目,如果我们发现数据库中存在状态为UPLOADING
的项目,那么我们将不会上传另一个项目,直到上传完成,然后我们才能得到数据库中的第一个UPLOADING
项要上传。我们会按照WAITING
,doOnSubscribe(UPLOADING)
和onSuccess(UPLOADED)
的状态更新项目状态,无论成功与否,我们都需要重新开始上传。
onError(FAILED)
实现这种行为的最佳方法是什么?