Rx: zip-подобный оператор, который продолжается после завершения одного из потоков?
Я ищу, чтобы объединить потоки (наблюдаемые), которые начинаются и заканчиваются асинхронно:
-1----1----1----1---|->
-2----2--|->
[ optional_zip(sum) ]
-1----3----3----1---|->
Для чего мне это нужно: Добавление аудио потоков вместе. Это потоки аудио "кусков", но я собираюсь представить их здесь целыми числами. Итак, первый клип играет:
-1----1----1----1---|->
а потом начинается вторая, чуть позже:
-2----2--|->
Результатом их объединения по сумме должно быть:
-1----3----3----1---|->
Но стандартный почтовый индекс завершается, если какой-либо из сжатых потоков заканчивается. Я хочу, чтобы этот option_zip продолжал работать, даже если один из потоков заканчивается. Есть ли способ сделать это в Rx, или я должен реализовать это самостоятельно, изменив существующий Zip?
примечание: я использую RxPy, но сообщество здесь кажется небольшим, и операторы Rx кажутся довольно универсальными для разных языков, поэтому я пометил его как rx-java и rx-js.