rxJava中Maybe和zip操作符列表的处理
尝试将rxJava中Maybe和zip操作符列表的处理,java,android,kotlin,rx-java,Java,Android,Kotlin,Rx Java,尝试将zip运算符与列表一起使用,可能会遇到一些问题: 1) 我有两种数据类型的帖子,分别是视频、图像和音频 2) 现在我想把这些帖子上传到服务器上,等待每一篇帖子上传(是的,我可以发送数组,但这只是个例子) 3) 为了实现这一点,我可以zip我的列表mutablelistof我认为可能是一个潜在的不良反应类型选择,可能暗示了一些东西或什么都没有,两者都是有效的。然而,在这种情况下,没有什么是不可接受的。考虑使用单< /代码> -如果这些失败中的任何一个不应该是失败,而不是没有发射?如果你能控制
zip
运算符与列表一起使用,可能会遇到一些问题:
1) 我有两种数据类型的帖子
,分别是视频
、图像
和音频
2) 现在我想把这些帖子上传到服务器上,等待每一篇帖子上传(是的,我可以发送数组,但这只是个例子)
3) 为了实现这一点,我可以zip
我的列表mutablelistof我认为可能
是一个潜在的不良反应类型选择,可能
暗示了一些东西或什么都没有,两者都是有效的。然而,在这种情况下,没有什么是不可接受的。考虑使用<代码>单< /代码> -如果这些失败中的任何一个不应该是失败,而不是没有发射?如果你能控制它:Audio->list.add(Maybe.empty())
只需返回Audio->list.add(Maybe.just(Unit))
@MarkKeen,它需要Response
类型,所以我不能使用Maybe.just(Unit)
创建一个空的Response
return@MarkKeen,我确实喜欢,但我觉得这是个坏主意/解决方案。不是吗?是的,首先不要添加Audio
,这似乎是多余的,正如我所说,可能是什么或什么都不是,都是有效的,这不是你想要的。我认为可能是一个潜在的不良反应类型选择,可能是暗示什么或什么都不是,都是有效的。然而,在这种情况下,没有什么是不可接受的。考虑使用<代码>单< /代码> -如果这些失败中的任何一个不应该是失败,而不是没有发射?如果你能控制它:Audio->list.add(Maybe.empty())
只需返回Audio->list.add(Maybe.just(Unit))
@MarkKeen,它需要Response
类型,所以我不能使用Maybe.just(Unit)
创建一个空的Response
return@MarkKeen,我确实喜欢,但我觉得这是个坏主意/解决方案。不是吗?是的,首先不要添加音频
,这似乎是多余的,正如我所说,可能是什么或什么都不是,都是有效的,这不是你想要的。
posts.map {
when(type) {
Video -> list.add(createPost()) // Awaitng Response result
Image -> list.add(createPost()) // Awaiting Response result
Audio -> list.add(Maybe.empty()) // Just skip this data type
}
}
Maybe.zip(list) { arg -> arg }.flatMap{ ... }