在 Observable 中延迟 onComplete()

Delay onComplete() in Observable

我正在做这样的事情:

return Observable.zip(
    Observable.interval(0, MOVE_LENGTH_IN_MILLIS, TimeUnit.MILLISECONDS),
    Observable.fromIterable(mySuperNiceArrayList),
        new BiFunction<Long, ItemTest, ItemTest>() {
            @Override
            public ItemTest apply(@NonNull Long aLong, @NonNull ItemTest itemTest) throws Exception {
                  return itemTest;
            }
        }
)

我遇到的问题是,在最后一项发出后,立即调用了 onComplete。有没有办法postpone/delay调用onComplete方法?

Hacky 解决方案是向 ArrayList 添加一个元素并在 onNext() 中忽略它。

整个 zip 与空的 Observable 延迟合并:

return Observable.zip(
    Observable.interval(0, MOVE_LENGTH_IN_MILLIS, TimeUnit.MILLISECONDS),
    Observable.fromIterable(mySuperNiceArrayList),
        new BiFunction<Long, ItemTest, ItemTest>() {
            @Override
            public ItemTest apply(@NonNull Long aLong, 
                    @NonNull ItemTest itemTest) throws Exception {
                return itemTest;
            }
        }
).concatWith(Observable.<ItemTest>empty()
                 .delay(MOVE_LENGTH_IN_MILLIS, TimeUnit.MILLISECONDS));

编辑延迟应该发生在 zip 之后。