-
- 参数类型
-
T
- 已发布的项目类型
- All Known Subinterfaces:
-
Flow.Processor<T,R>
,HttpRequest.BodyProcessor
- 所有已知实现类:
-
SubmissionPublisher
- Enclosing class:
- Flow
- Functional Interface:
- 这是一个功能界面,因此可以用作lambda表达式或方法引用的赋值对象。
@FunctionalInterface public static interface Flow.Publisher<T>
订阅者接收的项目(和相关控制消息)的生产者。 每个当前的Flow.Subscriber
以相同的顺序接收相同的项目(通过方法onNext
),除非遇到丢失或错误。 如果发布商遇到不允许向订阅者发出项目的错误,该订阅者将收到onError
,然后不再收到任何消息。 否则,当知道不再发送其他消息时,订户接收onComplete
。 发行商确保每个订阅的订阅者方法调用是严格按照happens-before订购的。发布商可能会因为是否丢弃(由于资源限制而发出项目的失败)被视为不可恢复的错误而在政策上有差异。 发布商也可能会因订阅者是否收到在订阅之前生成或可用的项目而有所不同。
-
-
方法摘要
所有方法 接口方法 抽象方法 Modifier and Type 方法 描述 void
subscribe(Flow.Subscriber<? super T> subscriber)
如果可能,添加给定的订阅者。
-
-
-
方法详细信息
-
subscribe
void subscribe(Flow.Subscriber<? super T> subscriber)
如果可能,添加给定的订阅者。 如果已经认购,或认购的尝试失败,因为违反政策或错误,用户的onError
方法被调用与IllegalStateException
。 否则,将使用新的Flow.Subscription
调用订阅者的onSubscribe
方法。 订阅者可以通过调用此订阅的request
方法来启用接收项,并可通过调用其cancel
方法取消订阅。- 参数
-
subscriber
- 订户 - 异常
-
NullPointerException
- 如果用户为空
-
-