From fcf534828e5414b87744ba91a1d5c7a985d255dc Mon Sep 17 00:00:00 2001 From: asahi Date: Fri, 21 Mar 2025 12:56:59 +0800 Subject: [PATCH] =?UTF-8?q?doc:=20=E9=98=85=E8=AF=BBreactor=E6=96=87?= =?UTF-8?q?=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- spring/webflux/Reactor.md | 18 +++++++++++++++++- spring/webflux/image.png | Bin 0 -> 43456 bytes 2 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 spring/webflux/image.png diff --git a/spring/webflux/Reactor.md b/spring/webflux/Reactor.md index fdc6c00..1782e4c 100644 --- a/spring/webflux/Reactor.md +++ b/spring/webflux/Reactor.md @@ -56,4 +56,20 @@ reactor引入了两个实现`Publisher`的类:`Mono`和`Flux`。 上述两个类代表了在异步处理场景中的大致基数。 - Mono:例如,对于http请求的场景,一个请求只会产生一个响应,故而对响应执行`count`操作并没有任何意义。此时,可以通过`Mono`来代表http调用的结果,`Mono`中只提供了上下文中包含`0...1`个元素的对应操作 -- 当执行某些`可能会改变异步处理中最大基数的操作`时,可能会导致类型的改变,例如执行`Flux`中的`count`操作将会返回`Mono`的类型 \ No newline at end of file +- 当执行某些`可能会改变异步处理中最大基数的操作`时,可能会导致类型的改变,例如执行`Flux`中的`count`操作将会返回`Mono`的类型 + +### Flux `0...n` +![alt text](image.png) + +`Flux`是一个标准的`Publisher`,代表基数为`0...n`的异步序列,其可以被`completion signal`或异常所终止。根据reactive stream标准,存在三种signal,且信号会转化为对下游`onNext`、`onComplete`、`onError`的调用。 + +Flux是一个通用的reactive类型,并且,所有的event type都是可选的。 +- 当没有`onNext`事件但是存在`onComplete`事件,代表一个空的有限序列 +- 当`onNext`和`onComplete`事件都不存在时,代表一个空的无限序列 +- 无限序列并不一定为空,例如`Flux.interval(Duration)`会产生一个`Flux`,其是无限的并且发送tick + +### Mono `0...1` +`Mono`是一个标准的`Publisher`,其通过`onNext`信号发送至多一个item,然后通过`onComplete`信号结束(成功场景);或直接通过`onError`信号结束(失败场景)。 + +大多数Mono实现在调用完subscriber的`onNext`方法之后,预计会立马调用subscriver的`onComplete`方法。但是,`Mono.never`是一个例外,其并不会发送任何信号,并且其`onNext`和`onError`的组合是被明确禁止的。 + diff --git a/spring/webflux/image.png b/spring/webflux/image.png new file mode 100644 index 0000000000000000000000000000000000000000..d3483eeb9a7a792b8337cb9b4eb7fbcd27e76f5a GIT binary patch literal 43456 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

as5 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 b!tHY)#;@-F*_