跳到主要内容

Flux,由 0-N 个元素构成的异步序列

Doubao 中英对照 Flux, an Asynchronous Sequence of 0-N Items

下图展示了 Flux 如何转换元素:

Flux

Flux<T> 是一个标准的 Publisher<T>,表示由 0 到 N 个已发出元素构成的异步序列,该序列可以以完成信号或错误信号之一结束。正如 Reactive Streams 规范中所述,这三类信号分别对应于对下游 Subscriber 的 onNext、onComplete 和 onError 方法的调用。

凭借如此广泛的可能信号范围,Flux 是通用的响应式类型。请注意,所有事件(即使是终止事件)都是可选的:没有 onNext 事件而只有一个 onComplete 事件,表示一个空的有限序列;但去掉 onComplete,您就得到一个空的无限序列(除了用于测试取消之外,没什么特别用处)。同样,无限序列也不一定是空的。例如,Flux.interval(Duration) 会产生一个 Flux<Long>,它是无限的,并按时钟规律发出节拍。