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{ ... }