```xml
<dependency>
    <groupId>org.noear</groupId>
    <artifactId>solon-rx</artifactId>
</dependency>
```

### 1、描述

基础扩展插件，为 Solon 开发提供最基础的响应式接口支持（复杂的可使用 io.projectreactor 响应式接口）。基于 org.reactivestreams 构建，主要提供接口有：


| 接口                            | 扩展自                    | 说明                                                   | 
| ------------------ | ---------------- | ------------------------------- | 
| `Completable`               | `Publisher<Void>`     |  可完成发布者                             | 
| `CompletableEmitter`     |                               |  可完成发射器（一般用于异步构建）     | 
| | | |
| `SimpleSubscriber<T>`  | `Subscriber<T>`         | 简单的订阅者实现                                 |
| `SimpleSubscription`     | `Subscription`            | 简单的订阅实现                                    |

### 2、Completable（可完成发布者）接口参考



| 接口                                                                           | 说明         | 备注          |
| -------------------------------------------- | -------- | -------- |
| `doOnError(err->{...}) -> self`                                        | 出错时     |       |
| `doOnComplete(()->{...}) -> self`                                   | 完成时     |       |
| `subscribe()`                                                                | 订阅（由 doOnError 和 doOnComplete 接收）     |       |
| | | |
| `subscribe(emitter:CompletableEmitter)`                         | 订阅（由 emitter 接收）     |       |
| | | |
| `subscribe(subscriber:Subscriber)`                                  | 订阅（由 subscriber 接收）     |       |
| | | |
| `then(otherSupplier:Supplier<Completable>) -> self`         | 然后（用于多任务编排）     |       |
| `then(other:Completable) -> self`                                   | 然后（用于多任务编排）     |       |
|       |       |       |
| `Completable.create(emitter->{...})`                               | 创建可完成发布者（通过可完成发射器）      |       |
| `Completable.complete()`                                             | 创建完成状态的可完成发布者      |       |
| `Completable.create(emitter->{...})`                               | 创建异常状态的可完成发布者      |       |


### 3、CompletableEmitter（可完成发射器）接口参考



| 接口                                                   | 说明                  | 备注          |
| ------------------------------- | ------------- | -------- |
| `onError(err)`                                        | 发射出错事件      |       |
| `onComplete()`                                     | 发射完成事件      |       |





### 4、SimpleSubscriber（简单的订阅者）接口参考


| 接口                                                     | 说明                                     | 备注  |
| -------------------------------- | ----------------------- | ---- |
| `doOnSubscribe(subscription->{...})`          | 当订阅时                              |        |
| `doOnNext(item->bool)`                           | 当下一个时（带中断控制）      |        |
| `doOnNext(item->{...})`                            | 当下一个时                            |        |
| `doOnError(err->{...})`                              | 当出错时                               |        |
| `doOnComplete(()->{...})`                          | 当完成时                              |        |


### 5、SimpleSubscription（简单的订阅）接口参考


| 接口                                                     | 说明                                     | 备注  |
| -------------------------------- | ----------------------- | ---- |
| `onRequest((subscription, l)->{...})`          | 当请求时                                |        |



