如何在 Flux<String> 上执行 flatMap() 时获取索引号

Gar*_*wal 3 flux spring-boot reactive spring-webflux

我有一个代码块如下

var x = Flux.just("A", "B", "C", "D");
        x.flatMap(y -> {
            System.out.println(y);
            return Mono.just(y);
        }).subscribe();
Run Code Online (Sandbox Code Playgroud)

成功打印:

A
B
C
D
Run Code Online (Sandbox Code Playgroud)

除了字符串值之外,有没有办法可以打印索引/记录号?

A - 1
B - 2
C - 3
D - 4
Run Code Online (Sandbox Code Playgroud)

Ste*_*ski 6

您可以尝试index()

x.index()
 .flatMap(y -> {
     System.out.println(y.getT2() + "-" + y.getT1());
     return Mono.just(y);
 })
 .subscribe();
Run Code Online (Sandbox Code Playgroud)