一个热Observable会发出项目,我想将这些项目上传到服务器。
有两个考虑因素:
- 由于io操作的开销,我想将这些项目作为数组批处理并上传
- 由于io操作的不可靠性,我希望批处理的上传失败会被前置到下一个批次中。
Uploads succeed:
1 - 2 - 3 - 4 - 5
------------------
u(1,2,3) - u(4,5)
First upload fails:
1 - 2 - 3 - 4 - 5
------------------
u(1,2,3) - u(1,2,3,4,5)
我可以使用 buffer
操作符来实现第一个要求,但不知道如何满足第二个要求。