如何使用StartWith()rx运算符,但前提是序列不为空



我有一个rx observable,我需要添加一个特定的项,但前提是observable至少发出一个项。

我找遍了所有的接线员,但找不到合适的。最接近的是StartWith,但根据图表,它会立即发出项目,并且不会计入下一个项目。

有没有可能通过将其与其他运营商相结合来实现这一点?谢谢

我一直在尝试做同样的事情,但我唯一想到的不是很被动:

    Observable.just(1, 2, 3)
    .toList()
    .flatMap(items -> {
      if (items.size() > 0) {
        items.add(0, 0);
      }
      return Observable.from(items);
    })

它远非完美,在"热"可观察的情况下也不会起作用。

最新更新