1.Flux.create((t) -> {
t.next("create");
t.next("create1");
t.complete();
}).subscribe(System.out::println);
2.Flux.generate(t -> {
t.next("generate");
//注意generate中next只能调用1次
t.complete();
}).subscribe(System.out::println);
3.//单个元素
Flux.just("just").subscribe(System.out::println);
//多个元素
Flux.just("just", "just1", "just2").subscribe(System.out::println);
4.//Flux->Flux
Flux.from(Flux.just("just", "just1", "just2"))
.subscribe(System.out::println);
//Mono->Mono
Flux.from(Mono.just("just")).subscribe(System.out::println);
5.Flux.fromArray(new String[] { "arr", "arr", "arr", "arr" })
.subscribe(System.out::println);
6.Set<String> v = new HashSet<>();
v.add("1");
v.add("2");
v.add("3");
Flux.fromIterable(() -> v.iterator()).subscribe(System.out::println);
7.Flux.defer(() -> Flux.just("just", "just1", "just2"))
.subscribe(System.out::println);
8.Flux.interval(Duration.of(500, ChronoUnit.MILLIS))
.subscribe(System.out::println);
//防止程序过早退出,放一个CountDownLatch拦住
CountDownLatch latch = new CountDownLatch(1);
latch.await();
9.Flux.empty().subscribe(System.out::println);
10.Flux.error(new RuntimeException()).subscribe(System.out::println);
11.Flux.never().subscribe(System.out::println);
12.Flux.range(0, 100).subscribe(System.out::println);