我在Kotlin中有一个函数正在执行此操作:
fun getItemByIds(ids: List<Long>): Single<List<Item>> {
return Flowable.fromIterable(ids)
.flatMapSingle { getItem(it) }
.toList()
}
效果很好,但是在getItem生成错误(例如http错误404)的情况下,代码不会继续进行迭代。
getItem返回一个Single<>
,但是如果出现HTTP错误,我将返回Single.error(it)
。
我想做的是确保列表仍在构建中,如果发生错误,我只是消除错误,并使用生成错误的项目来构建列表。
任何想法?
有一个Rx运算符可以解决您的问题: